R中dynlm中的“必须匹配列数”错误

时间:2013-12-29 15:31:00

标签: r

我有以下代码:

y<-my.data$GDP
tt<-my.data$period
dataset<-data.frame(y,tt)
gnp.lm <- dynlm(formula = y ~ L(d(y), 1:10) + 1 + L(y) + tt, data = dataset)

my.data$periodmy.data$GDP都是具有相同长度的一维数组。

但是,我收到以下错误消息:

error in fix.by(by.x x) 'by' must match numbers of columns.

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

如果没有给出可重复的例子,可能是以下原因:

obs <- 1000
y <- rnorm(1000)
tt <- 1:obs

dataset <- data.frame(y, tt)
dyn_lm <- dynlm(y~L(y,1:5)+ tt)

这里,由于y未知类的问题而发生错误。但是如果你指定y和tt的类是ts,它就完全有效。

y.ts <- ts(y)
tt.ts<-ts(tt)

dyn_lm_ts <- dynlm(y.ts~L(y.ts,1:5)+ tt.ts)