R'de fisher'in en az önemli farkı (lsd) nasıl kullanılır?
Üç veya daha fazla bağımsız grubun ortalamaları arasında istatistiksel olarak anlamlı bir fark olup olmadığını belirlemek için tek yönlü ANOVA kullanılır.
Tek yönlü ANOVA’da kullanılan varsayımlar şunlardır:
- H 0 : Ortalamalar her grup için eşittir.
- H A : En azından yollardan biri diğerlerinden farklı.
ANOVA’nın p değeri belirli bir anlamlılık düzeyinin altındaysa (α = 0,05 gibi), sıfır hipotezini reddedebilir ve grup ortalamalarından en az birinin diğerlerinden farklı olduğu sonucuna varabiliriz.
Ancak hangi grupların birbirinden farklı olduğunu tam olarak bilmek için post-hoc bir test yapmamız gerekiyor.
Yaygın olarak kullanılan bir post-hoc testi , Fisher’in en az anlamlı fark (LSD) testidir .
Bu testi R’de gerçekleştirmek için agricolae paketindeki LSD.test() işlevini kullanabilirsiniz.
Aşağıdaki örnekte bu fonksiyonun pratikte nasıl kullanılacağı gösterilmektedir.
Örnek: R’de Fisher’in LSD testi
Bir profesörün, üç farklı çalışma tekniğinin öğrenciler arasında farklı test puanlarına yol açıp açmadığını bilmek istediğini varsayalım.
Bunu test etmek için rastgele 10 öğrenciyi her çalışma tekniğini kullanmaları için görevlendiriyor ve sınav sonuçlarını kaydediyor.
Aşağıdaki tablo, kullanılan çalışma tekniğine göre her öğrencinin sınav sonuçlarını gösterir:
R’de bu veri kümesini oluşturmak ve üzerinde tek yönlü ANOVA gerçekleştirmek için aşağıdaki kodu kullanabiliriz:
#create data frame
df <- data. frame (technique = rep(c("tech1", "tech2", "tech3"), each = 10 ),
score = c(72, 73, 73, 77, 82, 82, 83, 84, 85, 89,
81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
77, 78, 79, 88, 89, 90, 91, 95, 95, 98))
#view first six rows of data frame
head(df)
technical score
1 tech1 72
2 tech1 73
3 tech1 73
4 tech1 77
5 tech1 82
6 tech1 82
#fit one-way ANOVA
model <- aov(score ~ technique, data = df)
#view summary of one-way ANOVA
summary(model)
Df Sum Sq Mean Sq F value Pr(>F)
technical 2 341.6 170.80 4.623 0.0188 *
Residuals 27,997.6 36.95
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
ANOVA tablosundaki p değeri (0,0188) 0,05’ten küçük olduğundan, üç grup arasındaki ortalama sınav puanlarının hepsinin eşit olmadığı sonucuna varabiliriz.
Böylece hangi grup ortalamalarının farklı olduğunu belirlemek için Fisher’in LSD testini yapabiliriz.
Aşağıdaki kod bunun nasıl yapılacağını gösterir:
library (agricolae)
#perform Fisher's LSD
print( LSD.test (model," technic "))
$statistics
MSerror Df Mean CV t.value LSD
36.94815 27 84.6 7.184987 2.051831 5.57767
$parameters
test p.adjusted name.t ntr alpha
Fisher-LSD none technical 3 0.05
$means
std score r LCL UCL Min Max Q25 Q50 Q75
tech1 80.0 5.868939 10 76.05599 83.94401 72 89 74.00 82.0 83.75
tech2 85.8 4.391912 10 81.85599 89.74401 81 93 83.00 83.5 89.25
tech3 88.0 7.557189 10 84.05599 91.94401 77 98 81.25 89.5 94.00
$comparison
NULL
$groups
score groups
tech3 88.0 a
tech2 85.8a
tech1 80.0 b
attr(,"class")
[1] “group”
Sonucun bizi en çok ilgilendiren kısmı $groups adı verilen bölümdür. Gruplar sütununda farklı karakterlere sahip olan teknikler çok farklıdır.
Sonuçtan şunu görebiliriz:
- Teknik 1 ve Teknik 3’ün ortalama sınav puanları önemli ölçüde farklıdır (çünkü teknoloji1 “b” değerine ve teknoloji3 “a” değerine sahiptir).
- Teknik 1 ve Teknik 2’nin ortalama sınav puanları önemli ölçüde farklıdır (çünkü teknoloji1 “b” değerine ve teknik2 “a” değerine sahiptir).
- Teknik 2 ve Teknik 3’ün ortalama sınav puanları önemli ölçüde farklı değildir (çünkü her ikisi de “a” değerine sahiptir)
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de tek yönlü ANOVA nasıl gerçekleştirilir
R’de Bonferroni post hoc testi nasıl yapılır
R’de Scheffe post-hoc testi nasıl gerçekleştirilir?