R의 자동차 패키지와 ANOVA 대비를 설정하고 해석하는 방법은 무엇입니까?


15

분산 분석을 수행하려는 간단한 2x2 요인 실험이 있다고 가정하겠습니다. 예를 들면 다음과 같습니다.

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. 중요한 상호 작용의 부재, 기본적으로 (즉,에서 contr.treatment의) 출력 Anova()의 전체적인 의미한다 a모든 수준의 이상 b과의 b모든 수준에 걸쳐 a, 그 권리는?

  2. 어떻게 나를 효과의 중요성을 테스트 할 수 있도록 해주는 반면 지정해야 ab효과, B1 수준에서 상수를 개최 a하여 b레벨 B2에서 상수를 개최하고 상호 작용을 a:b?

답변:


18

이 예에서는 셀 크기가 동일하지 않으므로 다른 "제곱합 유형"이 중요하며 주 효과에 대한 테스트는 사용자가 말한 것처럼 간단하지 않습니다. Anova()유형 II 제곱합을 사용합니다. 시작하려면 이 질문 을 참조하십시오 .

대비를 테스트하는 방법에는 여러 가지가 있습니다. SS 유형은 관련 단일 요인 설계에서 궁극적으로 테스트하므로 중요하지 않습니다. 다음 단계를 사용하는 것이 좋습니다.

# 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)    

이제 첫 번째 대비 결과를 수동으로 확인하십시오.

> 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
감사합니다!!! 방금 대학원 레벨 통계의 두 학기가 가지고 있지 않은 질문에 답했습니다. 나는 전에 일방적 anova를 사용하는 것을 고려했지만 이것이 합법적 인 접근이라는 확인을 찾을 수 없었습니다.
f1r3br4nd

@ f1r3br4nd 오류 MS가 관련 단방향 및 원래 양방향 디자인에서 동일하므로 합법적입니다.
caracal

내가 할 수있는 마지막 후속 질문 : 양방향 상호 작용은 더 많은 변수의 상호 작용으로 어떻게 일반화됩니까? A B C 항이 있다면 A : B = (A | B = 1-A | B = 2), C : B = (C | B = 1-C | B = 2 중 하나를 구성 할 것입니다 ), A : B : C = A : B-C : B 등?
f1r3br4nd

2
@ f1r3br4nd 2x2x2 디자인에서는 고유 한 A B C 상호 작용 대비가 하나만 있습니다 (2x2 경우에는 하나만있는 것처럼). A B C 상호 작용 대비 의 계수 는 "디자인 큐브"의 행 (A), 열 (B) 및 평면 (C)에서 0으로 합산되어야합니다. 연관된 단방향 설계에서 셀의 순서가 a1.b1.c1, a2.b1.c1, a1.b2.c1, a2.b2.c1, a1.b1.c2, a2.b1.c2, a1.b2.c2, a2.b2.c2이면 계수는 c(1, -1, -1, 1, -1, 1, 1, -1)입니다. 요인에 둘 이상의 그룹이있는 경우 0에서 합계 규칙을 따르는 모든 대비는 3 방향 상호 작용 대비입니다.
caracal
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.