#2023.07.20 getwd() rm(list=ls()) setwd(‘c:/data’) library(dplyr) library(caret)
df<-read.csv(“Data1.csv”) glimpse(df) # 회귀분석은 등간척도 이상이어야 함 # 독립변수 범주형이라도 회귀분석이 가능하다.=더미변수수
bs.out2<-lm(Happiness~BM,data=df) summary(bs.out2)
library(car) sreg.res1<-residuals(bs.out2) durbinWatsonTest(sreg.res1)
par(mfrow=c(2,2)) plot(bs.out2)
Shapiro.test(sreg.res1) options(scipen=999) Shapiro.test(sreg.res1) options(scipen=-999)
options(scipen=999) Shapiro.test(sreg.res1) options(scipen=-999) # 위의 잔차분석 결과 등분산성과 정규성을 만족하지 못함 # 정규성을 만족하지 못하는 경우 박스콕스 변수 변환을 적용할 수 있다.
bs.out3<-lm(Happiness~BM+BF, data=df) summary(bs.out3)
library(car) vif(bs.out3) # vif 값이 모두 9보다 작으므로 두 변수는 서로 독립적이라 할 수 있다.
library(caret) idx<-createDataPartition(df$Happiness, p=0.8, list=FALSE) train<-df[idx,] test<-df[-idx,] library(dplyr) glimpse(train)
fit<-lm(Happiness~BM+BF+Peace,data=train) summary(fit)
predict(fit,newdata=test) lm_p<-predict(fit,newdata=test) round(predict(fit,newdata=test),1)
test$Happiness1<-round(predict(fit,newdata=test),1) Veiw(test)