楼主: zyx_snow
4457 2

[问答] forecast()函数报错:变数的长度不一样 [推广有奖]

  • 0关注
  • 0粉丝

已卖:54份资源

大专生

18%

还不是VIP/贵宾

-

威望
0
论坛币
79 个
通用积分
1.3000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
302 点
帖子
22
精华
0
在线时间
50 小时
注册时间
2018-11-7
最后登录
2021-3-26

楼主
zyx_snow 发表于 2018-12-20 14:27:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
数据是1978-2017年的GDP,用曲线来拟合序列趋势并对下一年进行预测。代码为:
gdp<-scan("D:/国民生产总值1978-2017.txt")
year<-c(1978:2017)
gdp_data<-data.frame(year,gdp)
gdp_ts<-ts(gdp_data$gdp,start=1978)
t<-c(1:40)
t_2<-t*t
T<-data.frame(gdp,t,t_2)
gdp_fit<-lm(T$gdp~.,data=T)
summary(gdp_fit)
#预测
gdp_fore<-forecast(gdp_fit,h=1,0.95)
gdp_fore
plot(gdp_fore,main="1978-2017年国内生产总值",xlab="年份",ylab="GDP")
但是结果显示为
Error in model.frame.default(Terms, newdata, na.action = na.action, xlev = object$xlevels) :
  变数的长度不一样('t_2')
此外: Warning messages:
1: In forecast.lm(gdp_fit, h = 1, 0.95) :
  newdata column names not specified, defaulting to first variable required.
2: In forecast.lm(gdp_fit, h = 1, 0.95) :
  Could not find required variable t_2 in newdata. Specify newdata as a named data.frame
3: 'newdata' had 1 row but variables found have 40 rows
请教各位大佬是哪里出了问题吗?望赐教,十分感谢!

数据如下
3678.7 4100.5 4587.6 4933.7 5380.5 6043.8 7314.2 9123.6 10375.4 12166.6 15174.4 17188.4 18923.3 22050.3 27208.2 35599.2 48548.2 60356.6 70779.6 78802.9 83817.6 89366.5 99066.1 109276.2 120480.4 136576.3 161415.4 185998.9 219028.5 270844.0 321500.5 348498.5 411265.2 484753.2 539116.5 590422.4 644791.1 686449.6 740598.7 824828.4


二维码

扫码加我 拉你入群

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

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


沙发
fyc7346165 发表于 2018-12-20 15:25:48
大概看了一下forecast函数的说明,第一个参数应该用gdp_ts吧
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
zyx_snow 发表于 2018-12-20 16:32:51
fyc7346165 发表于 2018-12-20 15:25
大概看了一下forecast函数的说明,第一个参数应该用gdp_ts吧
十分感谢!!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-7 16:21