R-code 6

From Biocourse

Jump to: navigation, search

분산 분석 ( Analysis of Variance )


One-way analysis of variance

image : r6-1.jpg

## 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)

image : r6-2.jpeg
 


## 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로 귀무가설을 기각할수 없다.