R语言多元线性回归

toothpaste<-data.frame(
X1=c(-0.05, 0.25,0.60,0, 0.25,0.20, 0.15,0.05,-0.15, 0.15,
0.20, 0.10,0.40,0.45,0.35,0.30, 0.50,0.50, 0.40,-0.05,
-0.05,-0.10,0.20,0.10,0.50,0.60,-0.05,0, 0.05, 0.55),
X2=c( 5.50,6.75,7.25,5.50,7.00,6.50,6.75,5.25,5.25,6.00,
6.50,6.25,7.00,6.90,6.80,6.80,7.10,7.00,6.80,6.50,
6.25,6.00,6.50,7.00,6.80,6.80,6.50,5.75,5.80,6.80),
Y =c( 7.38,8.51,9.52,7.50,9.33,8.28,8.75,7.87,7.10,8.00,
7.89,8.15,9.10,8.86,8.90,8.87,9.26,9.00,8.75,7.95,
7.65,7.27,8.00,8.50,8.75,9.21,8.27,7.67,7.93,9.26)
)
lm.sol<-lm(Y~X1+X2,data=toothpaste)
summary(lm.sol)

#获得X1和Y的散点图与回归直线
attach(toothpaste)
plot(X1,Y)
abline(lm(Y~X1))

#获得X2和Y的散点图与回归直线
plot(X2,Y)
abline(lm(Y~X2))

#获得X1和Y的散点图与回归曲线
lm1.sol<-lm(Y~X1+I(X1^2))
summary(lm1.sol)
x<-seq(min(X1),max(X1),len=200)
y<-predict(lm1.sol,data.frame(X1=x))#用predict()函数求多元回归的预测
plot(Y~X1)
lines(x,y)

#获得X2和Y的散点图与回归曲线
lm2.sol<-lm(Y~X2+I(X2^2))
summary(lm2.sol)
x<-seq(min(X2),max(X2),len=200)
y<-predict(lm2.sol,data.frame(X2=x))#用predict()函数求多元回归的预测
plot(Y~X2)
lines(x,y)


#考虑X2^2,修正拟合模型
lm.new<-update(lm.sol,.~.+I(X2^2))
summary(lm.new)

#剔除X2,修正拟合模型
lm2.new<-update(lm.new,.~.-X2)
summary(lm2.new)

#考虑X1*X2,修正拟合模型
lm3.new<-update(lm.new,.~.+X1*X2)
summary(lm3.new)


  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值