楼主: CSJENTJ
1678 0

[问答] R predict函数参数?及plot和lines数据长度一致问题?被替换的项目不是替换值长度? [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

高中生

52%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
81 点
帖子
9
精华
0
在线时间
51 小时
注册时间
2019-11-18
最后登录
2022-5-5

楼主
CSJENTJ 发表于 2020-5-3 00:35:54 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
题目要求 题目源自《LSLR》第七章 第9题

我的代码如下:
#1
library(MASS)
data(Boston)
l1=lm(nox~poly(dis,3),data=Boston
l1
nox=Boston$nox
dis=Boston$dis
x_lim=range(dis)
x_simu=seq(from=x_lim[1],to=x_lim[2],by=0.1)
l1_pred=predict(l1,newdata=data.frame(dis=x_simu),se=TRUE)
plot(dis,nox,main="fitted line and two-times std band")
lines(x_simu,l1_pred$fit,col="red",lwd=2)

#2
pl=pl_pred=sse=rep(NA,10)
for(i in 1:10){
  pl=lm(nox~poly(dis,i))
  pl_pred=predict(pl,newdata=list(dis=x_simu))
  lines(x_simu,pl_pred$fit,col=i)
  sse=(pl_pred$residuals)^2
}
plot(1:10,sse,lty=2,pch=16)


三个问题:
一、为什么newdata要求data.frame形式,写newdata=list()也行?
二、“l1_pred=predict(l1,newdata=data.frame(dis=x_simu),se=TRUE)”一句中dis改为其他,为什么就会报错?
三、lines不是在现有图上加线吗?为什么向量长度必须和plot一致?
四、第二问我的代码会如下报错,应该怎么讲十条拟合曲线画进一张图?
Error in UseMethod("predict") : "predict"没有适用于"list"目标对象的方法
此外: Warning message:
In pl <- lm(nox ~ poly(dis, i)) : 被替换的项目不是替换值长度的倍数



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-25 05:12