1

我在逻辑回归中使用最初从 ts 类型转换的 xts 时间序列,但我得到了

Error in `*.default`(x[good, , drop = FALSE], w) : non-conformable arrays

例子:

success <- as.xts(ts(sample(0:10, 100, replace=T), start=1970, fr=12))
failure <- 10-success
x <- as.xts(ts(rnorm(100), start=1970, fr=12))
glm(cbind(success, failure) ~ x, family=binomial)

但是,如果将系列转换为类ts或只是一个向量,则不会出现错误:

glm(cbind(as.ts(success), as.ts(failure)) ~ as.ts(x), family=binomial)
glm(cbind(as.vector(success), as.vector(failure)) ~ as.vector(x), family=binomial)

使用原始 xts 系列时有没有办法避免错误?

4

1 回答 1

0

该问题是由 in 的默认值引起drop=FALSE[.xts。您可以通过指定data参数来避免这种情况,该参数将被转换为 data.frame。

glm(cbind(success, failure) ~ x, data=merge(success,failure,x), family=binomial)
于 2013-06-07T14:28:10.830 回答