R-code 6
From Biocourse
분산 분석 ( Analysis of Variance )
One-way analysis of variance

## 3변수간의 평균의 차이를 검정
> x = c(4,3,4,5,2,3,4,5)
> y = c(4,4,5,5,4,5,4,4)
> z = c(3,4,2,4,5,5,4,4)
> scores = data.frame(x,y,z)
> boxplot(scores)
## 3변수의 boxplot을 그림
> names(scores)
> oneway.test(values ~ ind, data=scores, var.equal=T)
One-way analysis of means
data: values and ind
F = 1.1308, num df = 2, denom df = 21, p-value = 0.3417
## 귀무가설은 H0 : 3변수의 평균이 같다. ; H1: H0가 거짓이다.
## p-value가 0.3417로 귀무가설을 기각할수 없다.
> df = stack(data.frame(x,y,z)) # prepare the data
> oneway.test(values ~ ind, data=df,var.equal=T)
One-way analysis of means
data: values and ind
F = 1.1308, num df = 2, denom df = 21, p-value = 0.3417
## 3변수의 분산이 동일하다고 가정하고 다음같이
## 귀무가설은 H0 : 3변수의 평균이 같다. ; H1: H0가 거짓이다.
## p-value가 0.3417로 귀무가설을 기각할수 없다.
> anova(lm(values ~ ind, data=df))
Analysis of Variance Table
Response: values
Df Sum Sq Mean Sq F value Pr(>F)
ind 2 1.7500 0.8750 1.1308 0.3417
Residuals 21 16.2500 0.7738
## ANOVA table을 이용하는 방법
## 비모수 검정 (Kruskal-Wallis test)
> kruskal.test(values ~ ind, data=df)
Kruskal-Wallis rank sum test
data: values by ind
Kruskal-Wallis chi-squared = 1.9387, df = 2, p-value = 0.3793
## 위의 세 변수를 비모수 검정을 통하여 다음과 같이 검정한다.
## 귀무가설은 H0 : 3변수의 중앙값이 같다. ; H1: H0가 거짓이다.
## p-value가 0.3793로 귀무가설을 기각할수 없다.
