data5.2<-read.csv("F:/R/应用回归分析/data/li3-1.csv",header = T)
install.packages("leaps")
library(leaps)
#寻找最优子集
exps<-regsubsets(y~x1+x2+x3+x4+x5+x6+x7+x8+x9,data=data5.2,nbest=1,really.big = T)
expres<-summary(exps)
res<-data.frame(expres$outmat,调整R方=expres$adjr2,Cp=expres$cp)
res
#前进法
lm03.1<-lm(y~1,data=data5.2) #建立初始模型
#将模型的搜索范围定义为至多加入所有变量,至少包含常数项,使用前进法寻找最优回归模型
lm3.1.for<-step(lm03.1,scope=list(upper=~x1+x2+x3+x4+x5+x6+x7+x8+x9,lower=~1),direction="forward")
summary(lm3.1.for)
#后退法
lm3.1<-lm(y~x1+x2+x3+x4+x5+x6+x7+x8+x9,data=data5.2)
lm3.1.back<-step(lm3.1,direction="backward")
summary(lm3.1.back)
#逐步回归
lm3.1.step<-step(lm3.1,direction="both")
summary(lm3.1.step)
自变量选择与逐步回归——《应用回归分析R语言版》
最新推荐文章于 2024-04-17 08:26:29 发布