anova,t-test의 비모수적 방법

주울·2022년 12월 8일

데이터분석

목록 보기
3/7

데이터 파악

rm(list=ls()) #모든 데이터 삭제
data = PlantGrowth
dim(data) # 총 30개의 데이터, 변수 2개
#한그룹당 30개가 넘지않으면 표본이 적은것 -> 비모수 방법 사용
View(data)
str(data) # 데이터 변수의 종류 확인하기

아노바 분석

shapiro.test(data$weight) # weight 변수가 정규분포를 따르는지 -> 0.05보다 큼. 귀무가설 기각 불가. 정규분포 맞음
bartlett.test(weight~group, data=data) #세 그룹이 weight에 대한 분산이 같은지. 0.05보다 큼. 귀무가설 기각 불가. 등분산임.
out = aov(weight~group, data=data)
summary(out)
TukeyHSD(out)
plot(TukeyHSD(out))

크루스칼 왈리스 테스트(아노바에서 정규성 검정안될 때 사용)

out2 = kruskal.test(weight~group, data=data)
out2 # 0.05미만이므로 귀무가설 기각. 중위수(median)가 유의미하게 차이가 있다는 것. 크루스칼은 귀무가설이 중위수가 유의미하게 차이가 없다는 것임!

윌콕슨 검정: 두 그룹일 때 비모수적 방법 -> 맨 휘트니(윌콕슨)

data1 = data[(data$group!="trt2"), ] #두 그룹간 웨이트 차이가 있는지 보기 위해 trt2인 것 삭제
summary(data1)
shapiro.test(data1$weight) # 정규성검정-> 0.05보다 큼->정규분포맞음
var.test(weight~group, data=data1, conf.level=0.95) # 등분산 확인 -> 0.05보다 큼 -> 등분산 맞음
data1$gr = as.numeric(data1$group) #문자데이터를 숫자로 변경. 1부터 차례로 매길 것.
View(data1)
wilcox.test(data1$gr, data1$weight) #0.05보다 작음-> 두 그룹간 중위수 차이가 있다는 것.

0개의 댓글