样本数据 ->
> tail(India_df) date confirmed deaths recovered98 2020-04-28 31324 1008 774799 2020-04-29 33062 1079 8437100 2020-04-30 34863 1154 9068101 2020-05-01 37257 1223 10007102 2020-05-02 39699 1323 10819103 2020-05-03 42505 1391 11775
我想预测未来某个日期(例如“2020-05-05”)的确诊病例数。
我使用多项式回归来拟合模型 ->
fit2 = lm(confirmed~poly(date,6))
我尝试使用以下代码 ->
new <- data.frame(pred_dates <- as.Date(c("2020-05-05","2020-05-06")))predict.lm(fit2,new,interval = "confidence")
但显示了以下错误 ->
'newdata' had 2 rows but variables found have 103 rows
回答:
你需要在lm
中使用data
参数,并在新数据框中使用与预测变量相同的名称:
fit2 <- lm(confirmed ~ poly(date,6), data = India_df)new <- data.frame(date = as.Date(c("2020-05-05","2020-05-06")))predict(fit2, new, interval = "confidence")