ANOVA

*참고: 나성호강사님 강의안

분산분석 (ANOVA)

분산석의 가정

library(tidyverse)
library(lawstat)

df <- read.csv(file = 'https://bit.ly/toyota_price',header=TRUE)
str(object =df)
head(x = df,n = 10L)
summary(object = df)
df[,c(4,6:7)]<-map_df(.x=df[,c(4,6:7)],.f=as.factor)
levene.test(y = df$Price, group = df$FuelType, location = 'mean')
by(data = df$Price, INDICES = df$FuelType, FUN = sd)
# FuelType 컬럼의 빈도수가 모두 30을 초과하는지 확인
table(df$FuelType)
# FuelType 컬럼의 레벨별 Price의 정규성 검정 실행
by(data = df$Price, INDICES = df$FuelType, FUN = shapiro.test)
# 정규성 검정을 만족하지 못하므로 Kruskal-Wallis 순위합 검정 실행
kruskal.test(formula = Price ~ FuelType, data = df)
# 분산분석은 oneway.test() 함수를 활용하여 실행
oneway.test(formula = Price ~ FuelType,
	   data = df,
               var.equal =FALSE) #등분산성을 만족하지 못하면 FALSE를 할당