######################################################
## 11. Kruskal-Wallis Test
## 독립변수가 2개 이상인 경우에 각각의 그룹의 평균이 같은가를 결정함
## 일원 테스트에서 F-TEST 는 그룹간 변동량과 그룹내 변동량의 비
## – (각그룹평균 – 전체평균)^2 + (각그룹평균 – 전체평균)^2 과
## – (각각 변수 – 각 그룹 평균)^2
## 프로그램으로는 anova(lm(값 ~ 그룹)) 하면 끝나버린다.
## 여기서 귀무가설을 모든 그룹의 평균이 같다는 것이고
## 대립가설을 차이가 있는 어떤 그룹이 있다이다
## ※ 일원 분산 분석과 거의 동일한 방법으로 수행하지만
## 주로 데이터가 정규성을 띄지 않을때 Rank 방법을 이용 분석시 이용
######################################################

## (1) 테스테 데이터 추출
setwd(“D:/DEVSource/CSV_DATA/”)
data = read.csv(“PlantGrowth.csv”)
print(data)

## (2) 데이터 형태 파악
## 그룹별 평균 확인
## 그룹별 분포도 box plot 확인
## 그룹별 shapiroo test 를 통한 정규성 검사
## 3개의 그룹은 모두 정규성을 만족하는 데이터
with(data, tapply(weight, group, mean))
boxplot(weight ~ group, col=”red”, data=data)
shapiro.test(data[data$group==”ctrl” , 2])
shapiro.test(data[data$group==”trt1″ , 2])
shapiro.test(data[data$group==”trt2″ , 2])
## (3) Kruskal-Waillis Test
## 모든 데이터에 순위를 부여하고
## 그룹별 순위의 분포를 분석함
## P-Value : 0.1842
## 귀무가설 : 모든 그룹의 평균은 같다를 기각함
kruskal.test(weight ~ group , data=data)