我正在运行以下代码:
ggplot(data= data_nickel_t, aes( x=index(data_nickel_t), y= log(ni_demand) )) +
scale_x_yearqtr(format = "%Y-%q", n = 14) +
geom_point() + stat_summary(fun.data=mean_cl_normal) +
geom_smooth(method='lm', aes(colour = "linear fit"), se= FALSE) +
geom_smooth(method='lm', formula = y ~ x + poly(x, 2), size = 1, aes(colour = "quadratic"), se= FALSE) +
geom_smooth(method='lm', formula = y ~ x + poly(x, 3), size = 1, aes(colour = "polynomial"), se= FALSE ) +
ggtitle("Global Refined Nickel Demand") +
xlab("Time") +
ylab("Thousand Metric Tons")
上面的代码生成了一条带有三条拟合线的图形,但是我收到以下警告消息:
1: In predict.lm(model, newdata = data.frame(x = xseq), se.fit = se,
prediction from a rank-deficient fit may be misleading;
2: In predict.lm(model, newdata = data.frame(x = xseq), se.fit = se, :
prediction from a rank-deficient fit may be misleading;
3: Removed 94 rows containing missing values (geom_pointrange).
我的第一印象是poly()
函数中时间趋势变量之间的共线性。我可能会估计数值模型以进一步检查。至于缺失值问题,例如this link explain the reasons for missing k rows。当我尝试该链接中建议的解决方案时,就我而言,它不起作用,我仍然遇到相同的错误。我有94个观察结果。我的数据中也没有零,因此没有理由进行日志转换以降低我的值。我仍然对带有时间序列的r还是陌生的,我知道如何解决缺失值警告吗?