请选择 进入手机版 | 继续访问电脑版
楼主: haichao1990
10844 8

[问答] 如何解决错误 'newdata'必需有142行 但变量里有568行 [推广有奖]

  • 0关注
  • 0粉丝

大专生

91%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
395 点
帖子
35
精华
0
在线时间
75 小时
注册时间
2015-10-12
最后登录
2019-3-29

haichao1990 发表于 2016-7-15 23:14:30 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
> new<-data.frame(as.matrix(test_data[,2:19]),as.matrix(test_data[,1]))
> dim(new)
    [1] 142  19
> predict(fit,new,interval='prediction',level=0.95)


数据明明是142行,但出现以下错误,是怎么回事?该怎么修改呢?
Warning message:
'newdata'必需有142行 但变量里有568行

二维码

扫码加我 拉你入群

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

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

关键词:Data NEW Prediction Interval predict prediction message 如何

cmwei333 发表于 2016-7-16 00:59:15 |显示全部楼层 |坛友微信交流群
我不清楚,fit 是否可以这样用,你可以试一下:

lm1 <- lm(y~x)  # y 对 x 的线性回归
xnew <- data.frame(x=xh)  # 你要预测时的 x 值为 xh
predict(lm1, xnew, interval="predict")  # 默认的区间是95%

使用道具

haichao1990 发表于 2016-7-16 12:06:16 |显示全部楼层 |坛友微信交流群
cmwei333 发表于 2016-7-16 00:59
我不清楚,fit 是否可以这样用,你可以试一下:

lm1
> lm1 <- lm(y~x)
> xh=as.matrix(test_data[,2:19])
> xnew <- data.frame(x=xh)
> predict(lm1, xnew, interval="predict")

错误一样的额
Warning message:
'newdata'必需有142行 但变量里有568行

使用道具

haichao1990 发表于 2016-7-16 12:13:36 |显示全部楼层 |坛友微信交流群
cmwei333 发表于 2016-7-16 00:59
我不清楚,fit 是否可以这样用,你可以试一下:

lm1
其中我是把一个csv文件按4:1比例划分训练集和测试集。test_data是测试集,142行。回归模型lm1用的是训练集train_data,568行,这样有没有错误?
> lm1 <- lm(y~x)
> xh=as.matrix(test_data[,2:19])
> xnew <- data.frame(x=xh)
> predict(lm1, xnew, interval="predict")

错误一样的额
Warning message:
'newdata'必需有142行 但变量里有568行

使用道具

cmwei333 发表于 2016-7-16 16:25:32 |显示全部楼层 |坛友微信交流群
haichao1990 发表于 2016-7-16 12:13
其中我是把一个csv文件按4:1比例划分训练集和测试集。test_data是测试集,142行。回归模型lm1用的是训练集 ...
我好像知道问题出在哪里了,最近用 MATLAB 习惯了,忽略了 R 在做线性回归时的一些特性

在 MATLAB 里,可以用 fitlm(x,y) 来做线性回归,y 是 n X 1 的矩阵, x 是 n X m 的矩阵

而在 R 里,要用 lm(y~x) 来做线性回归的条件是 y 和 x 都是 n X 1 的矩阵,如果要做跟以上 MATLAB 一样的线性回归,则要变成 lm(y~x1+x2+...+xm),就有点麻烦了

不过你的 x 只有4个,只要 lm(y~x1+x2+x3+x4) 就好了

使用道具

等距法422 发表于 2018-4-14 07:54:27 |显示全部楼层 |坛友微信交流群
你好,我最近遇到了同样的问题,请问最后是怎么解决问题的呢?

使用道具

jameschin007 发表于 2018-4-16 17:20:03 |显示全部楼层 |坛友微信交流群
矩阵数据啥样,head 一下,看看头几行

使用道具

ykkidyk 发表于 2019-4-3 17:53:06 |显示全部楼层 |坛友微信交流群
注意一下,newdata中的变量名必须与参与回归的自变量名一致,不能写错或者不写,否则也会出现这种错误。

使用道具

fillshun 发表于 2019-10-30 23:05:23 |显示全部楼层 |坛友微信交流群
想问下楼主解决了吗,我也遇到了同样的问题

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 09:54