全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
4458 2
2018-12-20
数据是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


二维码

扫码加我 拉你入群

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

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

全部回复
2018-12-20 15:25:48
大概看了一下forecast函数的说明,第一个参数应该用gdp_ts吧
二维码

扫码加我 拉你入群

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

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

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

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群