anova(lm1,lm2)输出:anova.lmlist(object,...)中的错误:模型并非都适合相同大小的数据集

时间:2017-11-04 19:59:56

标签: r lag anova

我的数据框有两个变量:PPCE和PDPI(例子来自Gujarati Basic Econometrics教科书)。我先运行回归:

lm(df$PPCE ~ df$PDPI) -> lm1

然后创建滞后系列od PDPI,滞后一:

c(NA, head(PDPI, -1)) -> lagged1

然后运行第二次回归:

lm(df$PPCE ~ df$PDPI + lagged1) -> lm2

当我运行anova(lm1, lm2)以查明我是否应该包含PDPI的滞后变量时,我得到:

  

anova.lmlist(object,...)中的错误:    模型并非都适合相同大小的数据集

所以我的问题是,如果滞后变量应该包含在模型中,如何检查R中的anova函数?

1 个答案:

答案 0 :(得分:0)

dyn包的anova.dyn方法可以通过交叉来处理不同大小的拟合。它适用于动物园和ts物体。以下示例使用内置BOD数据框。有关详细信息,请参阅dyn包文档。

library(dyn) # also loads zoo

z <- read.zoo(BOD)

lm1 <- dyn$lm(z ~ time(z))
lm2 <- dyn$lm(z ~ time(z) + lag(z, -1))

anova(lm1, lm2)