예를 들어 종속변수가 연속형인 자료
독립변수 a 가 명목형의 자료, 독립변수 b 가 명목형의 자료일 때
aov(종속변수~a*b)
로 이원분산 분석을 수행하였습니다.
첫번째 질문
반복형이 아닌 하나의 값들만 가지고 분산분석을 할 경우 교호작용을 검토하지 않는게 맞나요?
두번째 질문
분산분석 후 잔차에 대해서 정규성 검정을 한 결과, 정규성을 만족하지 않는다고 나왔습니다.
찾아보니 이원분산분석의 경우 friedman 검정을 한다고 하는데
R에서
friedman.test(종속변수,독립변수,독립변수) 식으로 입력을 하는 것 같습니다 (r studio 도움말 검색 결과)
(r studio 도움말 예제)
> wb
w t x
1 A L 44.55556
2 B L 28.22222
3 A M 24.00000
4 B M 28.77778
5 A H 24.55556
6 B H 18.77778
> friedman.test(wb$x, wb$w, wb$t)
Friedman rank sum test
data: wb$x, wb$w and wb$t
Friedman chi-squared = 0.33333, df = 1, p-value = 0.5637
> friedman.test(x ~ w | t, data = wb)
Friedman rank sum test
data: x and w and t
Friedman chi-squared = 0.33333, df = 1, p-value = 0.5637
제가 이해한 것은 비모수 이원분산분석일 경우 friedman 검정을 하는 것이고 그에 대한 예제가 위와 같다는 것인데
그렇다면, 정규성을 만족했다라는 가정하에서 aov () 함수에 따른 결과와는 다소 다른 양상을 보이는 것 같습니다.
예를 들어 독립변수 a 에 대한 유의성 여부 / 독립변수 b 에대 한 유의성 여부 이런식으로 구분해서 확인하고 싶은데 위에 예시는 이런식으로 제시되고 있지 않는 것 같습니다.
혹시 제가 전혀 다른 방향으로 이해를 하고 있는걸까요?
-------------추가 설명 RStudio 예제 입니다..
> wb
w t x
1 A L 44.55556
2 B L 28.22222
3 A M 24.00000
4 B M 28.77778
5 A H 24.55556
6 B H 18.77778
> friedman.test(wb$x, wb$w, wb$t)
Friedman rank sum test
data: wb$x, wb$w and wb$t
Friedman chi-squared = 0.33333, df = 1, p-value = 0.5637
// Frideman.test 명령어에 대한 예시문입니다. p=0.5637의 의미는 ?
제가 이해하기로는 정규성을 만족하지 않을때...이 검정을 수행한다고 했는데
본 자료에 대해서 아래와 같이 해봤습니다.
shapiro.test 결과는 잔차에 대해서 정규성을 만족하는데.........????
갑자기 혼란이 오네요. 어디서부터 제가 실수한건지 잘못 이해한건지
>
> out3=aov(x~factor(w)+factor(t))
> summary(out3)
Df Sum Sq Mean Sq F value Pr(>F)
factor(w) 1 50.07 50.07 0.899 0.443
factor(t) 2 226.03 113.01 2.029 0.330
Residuals 2 111.42 55.71
> shapiro.test(resid(out3))
Shapiro-Wilk normality test
data: resid(out3)
W = 0.85319, p-value = 0.167
첫댓글 답변이 늦었습니다. 질문이 이해가 잘 안되서요^^ 일단 anova는 lm()으로 하시는게 낫습니다. regression하고 연관성도 있고요.
1. 일단 교호작용이 있는 모형을 사용하고 교호작용이 없다고 판단되면 교호작용 term을 없앱니다.
2. shapiro.test로 한 정규성 검정에서 정규분포를 어긴다는 증거가 발견되지 않았으니, 그냥 anova를 쓰시면 될것같은데요. 제가 질문을 맞게 이해했나요?
질문을 깔끔하게 올리지 못한 것 같아 죄송합니다. 제가 다시 읽어봐도 애매하게 써놨네요 ^^
1번의 경우 반복형 자료일 경우에만 교호작용 검토가 가능하다라는 코멘트가 있었습니다.
2번의 경우 RStudio 에서 f1 (도움말) 에서 나오는 예시인데요. friedman.test 함수에 대한 예시입니다. 그런데 이 함수는 비모수 이원분산분석을 수행할때 사용한다라고 되어 있는데 막상 자료는 정규분포를 하고 있더라고요.
제가 궁금한 부분은 비모수 이원분산분석시 friedman.test 함수의 적절한 사용법이었는데 질문 올리고 좀 찾아본 결과 다행히 해결한 것 같습니다 ^^
한가지 추가 질문은 anova를 lm () 으로 하는게 낫다라고 답변 주셨는데
혹시 추가로 그 이유에 대해서 설명해주실수 있으신지요? 제가 깔끔하게 이해를 하지 못한것 같습니다 ㅠㅠ
어차피 aov()는 lm()으로 만든걸로 알고 있습니다. 결과가 더 낫거나 한건 아니고요. anova, regression, ancova 모두 linear models에 속하는데 lm()으로 처리하여 일반적으로 같이 이해하는게 좋습니다.