我正在尝试使用多重线性模型来预测值,并且在返回预测时遇到问题。我收到此错误消息:
Warning message: 'newdata' had 1 row but variables found have 268 rows
我创建了回归模型,结果为 logrog:
lm.all<-lm(logrog~growth$gender+growth$thick+growth$mitotic)
然后从那里创建了我的新数据框:
newdata=data.frame(mitotic=2,age=55,thick=1,gender=1)
newdata$thick<-factor(newdata$thick)
newdata$gender<-factor(newdata$gender)
transform(
新数据,newdata$age=as.integer(newdata$age))
年龄是一个整数,厚度和性别是因素,所以我想我可能也必须在新数据集中转换它们
然后我预测如下:
predict(lm.all,newdata=newdata)
并返回如上错误。我不确定问题所在,因为所有变量的命名都与初始数据集中出现的完全相同
我已经解决了这个问题,一位 reddit 用户发帖建议使用它作为 lm 代码:
lm.allq4<-lm(logrog~thick+age+mitotic+gender,data=growth)
这解决了问题(虽然我不明白为什么)