# load libraries
library(stats)
library(boot)
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 3.2.5
# read auto data
auto <- read.table('auto-mpg.data')
# assign column names
colnames(auto) <- c('disp', 'hp', 'wt', 'acc', 'mpg')
# intialize cross validation curve
cv.err5 <- c(1:8)
# generating polynomial fit and cross validation curve
for (i in c(1:8)){
glm.fit <- glm(mpg ~ poly(disp + hp + wt + acc, i), data = auto)
cv.err5[i] <- cv.glm(auto, glm.fit, K=5)$delta[1]
}
# Plot it
plot(c(1:8), cv.err5, type= 'b')