R'de dunn testi nasıl yapılır
Üç veya daha fazla bağımsız grubun medyanları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek içinKruskal-Wallis testi kullanılır. Tek yönlü ANOVA’nın parametrik olmayan eşdeğeri olarak kabul edilir.
Kruskal-Wallis testinin sonuçları istatistiksel olarak anlamlı ise hangi grupların farklı olduğunu tam olarak belirlemek için Dunn testinin yapılması uygundur.
Bu eğitimde Dunn testinin R’de nasıl gerçekleştirileceği açıklanmaktadır.
Örnek: R’de Dunn testi
Bir araştırmacı, üç ilacın sırt ağrısı üzerinde farklı etkilerinin olup olmadığını bilmek istiyor. Bu nedenle, hepsi benzer sırt ağrısı çeken 30 kişiyi işe alıyor ve bunları A ilacı, B ilacı veya C ilacını alacak şekilde rastgele üç gruba ayırıyor. İlacını aldıktan bir ay sonra araştırmacı her kişiden sırt ağrısını derecelendirmesini istiyor. 1’den 100’e kadar bir ölçek; 100 en şiddetli ağrıyı gösterir.
Araştırmacı, bu üç gruptaki medyan sırt ağrısı derecelendirmeleri arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için 0,05 anlamlılık düzeyini kullanarak Kruskal-Wallis testi uygular.
Aşağıdaki kod, R’de veri çerçevesinin nasıl oluşturulacağını ve Kruskal-Wallis testinin nasıl gerçekleştirileceğini gösterir:
#make this example reproducible
set.seed(0)
#create data frame
data <- data.frame(drug = rep(c("A", "B", "C"), each = 10),
bread = c(runif(10, 40, 60),
runif(10, 45, 65),
runif(10, 55, 70)))
#view first six rows of data frame
head(data)
# drug pain
#1 A 57.93394
#2 A 45.31017
#3 A 47.44248
#4 A 51.45707
#5 A 58.16416
#6 A 44.03364
#perform Kruskal-Wallis Test
kruskal.test(pain ~ drug, data = data)
Kruskal-Wallis rank sum test
data: pain by drug
Kruskal-Wallis chi-squared = 11.105, df = 2, p-value = 0.003879
Genel p değeri ( 0,003879 ) 0,05’ten küçük olduğundan bu, üç ilaç arasında rapor edilen ağrı düzeylerinde istatistiksel olarak anlamlı bir fark olduğu anlamına gelir. Hangi ilaçların farklı olduğunu tam olarak belirlemek için Dunn testini yapabiliriz.
Aşağıdaki kod , FSA() kitaplığındaki dunnTest() işlevini kullanarak R’de Dunn testinin nasıl gerçekleştirileceğini gösterir:
#loadlibrary
library(FSA)
#perform Dunn's Test with Bonferroni correction for p-values
dunnTest(pain ~ drug,
data=data,
method=" bonferroni ")
Dunn (1964) Kruskal-Wallis multiple comparison
p-values adjusted with the Bonferroni method.
Comparison Z P.unadj P.adj
1 A - B -0.8890009 0.374002602 1.000000000
2 A - C -3.2258032 0.001256197 0.003768591
3 B - C -2.3368023 0.019449464 0.058348393
Çoklu karşılaştırmaların p değerleri için Bonferroni düzeltmesini kullanmayı seçtiğimizi ancak diğer olası seçeneklerin şunları içerdiğini unutmayın:
- “sidak” (Sidak ayarı)
- “holm” (holm ayarı)
- “hs” (Holm-Sidak ayarı)
- “bs” (Bonferroni-Sidak ayarı)
- “tarafından” (Benjamin-Yekuteili ayarlaması)
- “bh” ( Benjamini-Hochberg prosedürü )
α = 0,05’te, A ve C ilaçları birbirinden istatistiksel olarak anlamlı derecede farklı olan tek iki ilaçtır (düzeltilmiş p-değeri = 0,003768 ).