R을 사용한 반복 측정으로 ANOVA 후 사후 테스트


24

다음과 같이 R에서 반복 측정 ANOVA를 수행했습니다.

aov_velocity = aov(Velocity ~ Material + Error(Subject/(Material)), data=scrd)
summary(aov_velocity)
  • 측정 값이 반복되는 분산 분석 후 사후 테스트를 수행하기 위해 R의 어떤 구문을 사용할 수 있습니까?
  • Bonferroni 보정을 사용한 Tukey의 테스트가 적절합니까? 그렇다면 R에서 어떻게 할 수 있습니까?


3
두 번째 포인트 : Tukey의 HSD 에는 이미 다중성에 대한 "수정"이 포함되어 있습니다 (Bonferroni의 방법과 같은 알파 수준이 아니라 테스트 통계 수준에서). 따라서 두 가지를 결합 할 필요가 없습니다.
chl

1
@ chl : Tukey의 HSD의 경우 다중 쌍별 비교 중에 알파 레벨을 수정할 필요가 없습니까?
스탠

3
@stan No. (참고 : 계획되지 않은 (사후 검사) 테스트는 특히 확인 방법과 관련하여 ANOVA가 중요한 결과를 얻은 후에 수행해야합니다.)
chl

답변:


20

할 수있는 일은 모델을 지정 하고 패키지 에서 lme사용 glht하여 multcomp원하는 것을 수행하는 것입니다. 그러나 lme는 표준 분산 분석과 약간 다른 F- 값을 제공합니다 ( 여기의 최근 질문 참조 ).

lme_velocity = lme(Velocity ~ Material, data=scrd, random = ~1|Subject)
anova(lme_velocity)

require(multcomp)
summary(glht(lme_velocity, linfct=mcp(Material = "Tukey")), test = adjusted(type = "bonferroni"))

bonferroni에 대한 다른 대조에 대해서는 예를 들어 패키지 작성자의 책을 참조하십시오.multcomp .

당신은 또한보고 싶을 수도 있습니다 는 R-메일 링리스트에이 게시물R에 ANOVA 반복 측정을 지정하기위한이 블로그 게시물을 .

그러나이 질문에 나와 같이이 접근 방식이 분산 분석과 동일한 지 확실하지 않습니다. 또한 glht 는 일반적인 t 또는 F 값 대신 z 값만보고 합니다. 이것은 드문 것 같습니다.

지금까지 다른 방법으로이 작업을 수행하지 못했습니다.


2

aov()기능 을 고수하고 싶다면 (그리고 다른 많은 ) 객체를 emmeans처리 할 수 있는 패키지를 사용할 수 있습니다 . aovlist

library("emmeans")
# set orthogonal contrasts
options(contrasts = c("contr.sum", "contr.poly"))

aov_velocity <- aov(Velocity ~ Material + Error(Subject / Material), data = scrd)

emmGrid다음과 같이 객체를 생성 한 후

emm <- emmeans(aov_velocity, ~ Material)

패키지 함수를 pairs()사용하여 원하는 대조를 사용하거나 원하는 대비를 사용하여 모든 (사후) 쌍 비교를 쉽게 얻을 수 있습니다. 다음 기능 의 인수를 통해 다중 테스트 조정을 수행 할 수 있습니다 .contrast()emmeansadjust

pairs(emm)  # adjust argument not specified -> default p-value adjustment in this case is "tukey"  

이것에 대한 자세한 내용은 자세한 emmeans 비네팅설명서를 발견했습니다. 가 매우 유용 .

또한 내 대답에서 올바른 대비 가중치를 얻는 방법에 대한 설명을 포함하여 완전한 (재생 가능한) 예제를 찾을 수 있습니다. .

그러나 사후 테스트에 단 변량 모델을 사용 하면 구형이 위반되는 경우 보수적이지 않은 p- 값이 나타날 수 있습니다 .


0

구형이 충족되면 양방향 분산 분석을 실행할 수 있습니다.

aov_velocity = aov(Velocity~Material+Subject, data=scrd)
posthoc      = TukeyHSD(aov_velocity, 'Material', conf.level=0.95).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.