이것은 약간의 자기 승진처럼 보일 수 있습니다 (그리고 나는 그것이 있다고 가정합니다). 그러나 이러한 종류의 상황을 정확하게 처리하도록 설계된 R 용 lsmeans 패키지 (CRAN에서 사용 가능)를 개발했습니다. 다음은 예제에서 작동하는 방법입니다.
> sample.data <- data.frame(IV=rep(1:4,each=20),DV=rep(c(-3,-3,1,3),each=20)+rnorm(80))
> sample.aov <- aov(DV ~ factor(IV), data = sample.data)
> library("lsmeans")
> (sample.lsm <- lsmeans(sample.aov, "IV"))
IV lsmean SE df lower.CL upper.CL
1 -3.009669 0.2237448 76 -3.4552957 -2.564043
2 -3.046072 0.2237448 76 -3.4916980 -2.600445
3 1.147080 0.2237448 76 0.7014539 1.592707
4 3.049153 0.2237448 76 2.6035264 3.494779
> contrast(sample.lsm, list(mycon = c(-3,-1,1,3)))
contrast estimate SE df t.ratio p.value
mycon 22.36962 1.000617 76 22.356 <.0001
원하는 경우 목록에서 추가 대비를 지정할 수 있습니다. 이 예제에서는 내장 선형 다항식 대비를 사용하여 동일한 결과를 얻을 수 있습니다.
> con <- contrast(sample.lsm, "poly")
> con
contrast estimate SE df t.ratio p.value
linear 22.369618 1.0006172 76 22.356 <.0001
quadratic 1.938475 0.4474896 76 4.332 <.0001
cubic -6.520633 1.0006172 76 -6.517 <.0001
이를 확인하기 위해 "poly"
사양에서 호출하도록 지시 poly.lsmc
하면 다음과 같은 결과가 나타납니다.
> poly.lsmc(1:4)
linear quadratic cubic
1 -3 1 -1
2 -1 -1 3
3 1 -1 -3
4 3 1 1
여러 대조의 공동 테스트를 할 경우, 사용 test
과 기능을 joint = TRUE
. 예를 들어
> test(con, joint = TRUE)
"유형 III"테스트가 생성됩니다. 와 달리 car::Anova()
, 모델 맞춤 단계에서 사용되는 대비 코딩에 관계없이 올바르게 수행됩니다. 테스트중인 선형 함수는 모델 축소를 통해 암시 적으로가 아니라 직접 지정되기 때문입니다. 추가 기능은 테스트중인 대비가 선형으로 의존하는 경우가 감지되고 올바른 테스트 통계 및 자유도가 생성된다는 것입니다.