在逻辑回归中使用xts系列时,不可兼容的数组会出错

时间:2013-06-07 14:00:17

标签: r xts

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

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系列时避免错误?

1 个答案:

答案 0 :(得分:0)

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

glm(cbind(success, failure) ~ x, data=merge(success,failure,x), family=binomial)