ANOVA'nın R'deki araç paketi ile kontrastlarını nasıl kurabilir ve yorumlayabilirim?


15

Diyelim ki ANOVA yapmak istediğim basit bir 2x2 faktöriyel deneyim var. Bunun gibi, örneğin:

d   <- data.frame(a=factor(sample(c('a1','a2'), 100, rep=T)),
                  b=factor(sample(c('b1','b2'), 100, rep=T)));
d$y <- as.numeric(d$a)*rnorm(100, mean=.75, sd=1) +
       as.numeric(d$b)*rnorm(100, mean=1.2, sd=1) +
       as.numeric(d$a)*as.numeric(d$b)*rnorm(100, mean=.5, sd=1) +
       rnorm(100);
  1. Önemli bir etkileşim olmaması, varsayılan olarak (yani içinde contr.treatmentbir) çıkışının Anova()genel önemi olan aher kademesinde üzerinde bve bher kademesinde üzerinde a, doğru mu?

  2. Nasıl beni etkisinin önemini test etmek izin verecek bir kontrast belirtmelidir aile betkinin, seviye b1 de sabit tutuluyor aile bseviye b2 de sabit tutuluyor ve etkileşim a:b?

Yanıtlar:


18

Örneğiniz eşit olmayan hücre boyutlarına yol açar, bu da farklı "kareler toplamı türleri" nin önemli olduğu anlamına gelir ve ana efektler testi sizin belirttiğiniz kadar basit değildir. Anova()tip II toplam kareleri kullanır. Başlangıç ​​için bu soruya bakın .

Kontrastları test etmenin farklı yolları vardır. Sonunda ilgili tek faktörlü tasarımda test ettiğimiz için SS türlerinin önemli olmadığını unutmayın. Aşağıdaki adımları kullanmanızı öneririm:

# turn your 2x2 design into the corresponding 4x1 design using interaction()
> d$ab <- interaction(d$a, d$b)       # creates new factor coding the 2*2 conditions
> levels(d$ab)                        # this is the order of the 4 conditions
[1] "a1.b1" "a2.b1" "a1.b2" "a2.b2"

> aovRes <- aov(y ~ ab, data=d)       # oneway ANOVA using aov() with new factor

# specify the contrasts you want to test as a matrix (see above for order of cells)
> cntrMat <- rbind("contr 01"=c(1, -1,  0,  0),  # coefficients for testing a within b1
+                  "contr 02"=c(0,  0,  1, -1),  # coefficients for testing a within b2
+                  "contr 03"=c(1, -1, -1,  1))  # coefficients for interaction

# test contrasts without adjusting alpha, two-sided hypotheses
> library(multcomp)                   # for glht()
> summary(glht(aovRes, linfct=mcp(ab=cntrMat), alternative="two.sided"),
+         test=adjusted("none"))
Simultaneous Tests for General Linear Hypotheses
Multiple Comparisons of Means: User-defined Contrasts
Fit: aov(formula = y ~ ab, data = d)

Linear Hypotheses:
              Estimate Std. Error t value Pr(>|t|)
contr 01 == 0  -0.7704     0.7875  -0.978    0.330
contr 02 == 0  -1.0463     0.9067  -1.154    0.251
contr 03 == 0   0.2759     1.2009   0.230    0.819
(Adjusted p values reported -- none method)    

Şimdi sonucu ilk kontrast için manuel olarak kontrol edin.

> P       <- 2                             # number of levels factor a
> Q       <- 2                             # number of levels factor b
> Njk     <- table(d$ab)                   # cell sizes
> Mjk     <- tapply(d$y, d$ab, mean)       # cell means
> dfSSE   <- sum(Njk) - P*Q                # degrees of freedom error SS
> SSE     <- sum((d$y - ave(d$y, d$ab, FUN=mean))^2)    # error SS
> MSE     <- SSE / dfSSE                   # mean error SS
> (psiHat <- sum(cntrMat[1, ] * Mjk))      # contrast estimate
[1] -0.7703638

> lenSq <- sum(cntrMat[1, ]^2 / Njk)       # squared length of contrast
> (SE   <- sqrt(lenSq*MSE))                # standard error
[1] 0.7874602

> (tStat <- psiHat / SE)                   # t-statistic
[1] -0.9782893

> (pVal <- 2 * (1-pt(abs(tStat), dfSSE)))  # p-value
[1] 0.3303902

3
TEŞEKKÜR EDERİM!!! Lisansüstü düzeydeki istatistiklerin iki yarıyılında henüz sorulmamış bir soruyu cevapladınız. Daha önce tek yönlü anova kullanmayı bile düşündüm, ancak bunun meşru bir yaklaşım olduğuna dair herhangi bir doğrulama bulamadım.
f1r3br4nd

@ f1r3br4nd MS hatası ilişkili tek yönlü ve orijinal iki yönlü tasarımda eşit olduğundan meşrudur.
caracal

Son bir soru, eğer yapabilirsem: iki yönlü etkileşim daha fazla sayıda değişkenin etkileşimlerine nasıl genelleşir? Eğer A B C terimim varsa, bunu A: B = (A | B = 1 - A | B = 2), C: B = (C | B = 1 - C | B = 2 ), A: B: C = A: B - C: B vb.
f1r3br4nd

2
@ f1r3br4nd 2x2x2'lik bir tasarımda, yalnızca bir benzersiz A B C etkileşim kontrastı vardır ( 2x2'lik bir durumda yalnızca bir tane var gibi). Bir A B C etkileşim-kontrastındaki katsayılar , "tasarım küpü" ndeki satırlar (A), sütunlar (B) ve düzlemler (C) üzerinde sıfırlanmalıdır. İlişkili tek yönlü tasarımdaki hücrelerin sırası ise a1.b1.c1, a2.b1.c1, a1.b2.c1, a2.b2.c1, a1.b1.c2, a2.b1.c2, a1.b2.c2, a2.b2.c2, katsayılar c(1, -1, -1, 1, -1, 1, 1, -1). Etkenlerinizde ikiden fazla grup varsa, toplamdan sıfıra kuralını izleyen tüm karşıtlıklar 3 yönlü etkileşim karşıtlıklarıdır.
caracal
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.