我正在使用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系列时避免错误?
答案 0 :(得分:0)
问题是由drop=FALSE
中的[.xts
默认值引起的。您可以通过指定data
参数来避免这种情况,该参数将转换为data.frame。
glm(cbind(success, failure) ~ x, data=merge(success,failure,x), family=binomial)