R에서 Anova를 반복적으로 측정하고 그 데이터 세트에 대한 특정 대비를 수행하려고합니다. 올바른 방법은 Anova()
자동차 패키지에서 사용하는 것이라고 생각합니다
.
데이터 를 ?Anova
사용하여
얻은 예제로 내 질문을 설명 해 보겠습니다 OBrienKaiser
(참고 : 예에서 성별 요인을 생략했습니다) :
우리는 주제 요인, 치료 (3 수준 : 통제, A, B) 및 2 반복 중 하나를 가진 디자인을 가지고 있습니다 -측정 (피험자 내) 요인, 단계 (3 단계 : 사전 테스트, 사후 테스트, 후속 조치) 및 시간 (5 단계 : 1-5).
표준 ANOVA 테이블은 다음과 같이 제공됩니다 (예 : (Anova)와 달리 Type 3 Squares of Squares로 전환했습니다.
require(car)
phase <- factor(rep(c("pretest", "posttest", "followup"), c(5, 5, 5)),
levels=c("pretest", "posttest", "followup"))
hour <- ordered(rep(1:5, 3))
idata <- data.frame(phase, hour)
mod.ok <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser)
av.ok <- Anova(mod.ok, idata=idata, idesign=~phase*hour, type = 3)
summary(av.ok, multivariate=FALSE)
이제, 가장 높은 주문 상호 작용 (경우에하지 않은) 중요했을 것으로 생각하고 우리는 다음과 대조하여 그것을 더 탐구하고 싶은 :
시간 1 시간 3 (대비 1) 대 2 사이의 시간 1과 2 사이에 차이가 처리 조건 (A & B와 함께)에서 시간 4 & 5 (대비 2) 대?
다시 말해,이 대비를 어떻게 지정합니까?
((treatment %in% c("A", "B")) & (hour %in% 1:2))
대((treatment %in% c("A", "B")) & (hour %in% 3))
((treatment %in% c("A", "B")) & (hour %in% 1:2))
대((treatment %in% c("A", "B")) & (hour %in% 4:5))
내 생각은 필요하지 않은 치료 조건 (제어)을 생략하는 다른 분산 분석을 실행하는 것입니다.
mod2 <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5, post.1, post.2, post.3, post.4, post.5, fup.1, fup.2, fup.3, fup.4, fup.5) ~ treatment, data=OBrienKaiser, subset = treatment != "control")
av2 <- Anova(mod2, idata=idata, idesign=~phase*hour, type = 3)
summary(av2, multivariate=FALSE)
그러나 여전히 1 & 2 시간을 3으로, 1 & 2를 4 & 5로 비교하여 적절한 피사체 내 대비 행렬을 설정하는 방법을 여전히 모릅니다. 그리고 불필요 한 치료 그룹을 생략하는 것이 실제로 전체 오류 기간을 변경하기 때문에 실제로 좋은 아이디어인지 확실하지 않습니다.
가기 전에 Anova()
나는 또한 갈 생각했다 lme
. 그러나 교과서 ANOVA와 anove(lme)
표준 ANOVA의 음의 편차로 인해lme
리턴되는 값 (에는 허용되지 않음 ) 간에 F 및 p 값에 약간의 차이 가 있습니다 . 관련하여 누군가가 나를 gls
반복 측정 측량 을 적용 할 수 있다고 지적 했지만 대조적 인 주장은 없습니다.
명확히하기 위해 : 원하는 대비가 중요한지 여부에 대한 F 또는 t 테스트 (유형 III 제곱 사용)를 원합니다.
최신 정보:
나는 이미 R-help에 대해 비슷한 질문을했지만 대답이 없었습니다 .
얼마 전 R-help에 대해서도 비슷한 질문이 제기되었습니다. 그러나 대답은 문제를 해결하지 못했습니다.
업데이트 (2015) :
이 질문은 여전히 논문을 지정하는 몇 가지 활동을 생성하고 기본적으로 모든 다른 대조는 이제 비교적 쉽게 수행 할 수 있습니다으로 afex
와 함께 패키지 lsmeans
에 설명으로 패키지 AFEX 네트 .
treatment
레벨 위에 각각 사람의 평균에 대한, 3)prePostFup
시간 동안 각 개인 평균 들어, 4) 1,2 (= 데이터 그룹 1) 뿐만 아니라 시간이 지남에 따라 3,4 (= 데이터 그룹 2), 5) 2 개의 종속 그룹에 대해 t- 테스트를 실행합니다. Maxwell & Delaney (2004)와 Kirk (1995)는 설계 내에서 풀링 된 오류 항과 대조하는 것을 권장하지 않기 때문에 간단한 대안이 될 수 있습니다.