我正在尝试将一个新参数插入到我已经使用了几个月(没有问题)的一些模型平均代码中,现在我收到了一条我以前从未见过的错误消息。
我的代码如下
library(MuMIn)
mod1<-lm(response ~ predictor1 + predictor2 + predictor3 + ... + predictor6, data=dataset)
cand.set<-dredge(mod1, beta=T, evaluate=T, m.max=6)
modavg_95<-model.avg(cand.set, cumsum(weight)<=.95)
最后一行是我收到以下错误消息的地方
Error in apply(apply(z, 2L, is.na),2,all):
dim(x) must have a positive length
这段代码之前运行良好,我所做的只是更改 predictor6 的值。数据中没有 NA 值,class(predictor6) 为两个数据集返回数字,并且 predictor6 的最大最小值仍在它们之前的范围内。
我的代码是相同的。这个错误是什么意思,我为什么会得到它,我该如何修复它?
任何帮助都将不胜感激。提前非常感谢。
=========================
编辑:建议我运行traceback()
以查看哪个调用函数引发了错误。我以前从未使用过这个函数,但这是我运行它时返回的内容:
8: stop("dim(X) must have a positive length")
7: apply(apply(z, 2L, is.na), 2, all)
6: `[.data.frame`(z, , !apply(apply(z, 2L, is.na), 2, all) & !(tt %in%
attr(tt, "interceptLabel")), drop = FALSE)
5: z[, !apply(apply(z, 2L, is.na), 2, all) & !(tt %in% attr(tt,
"interceptLabel")), drop = FALSE]
4: importance.model.selection(object)
3: importance(object)
2: model.avg.model.selection(cand.set, cumsum(weight) <= 0.95)
1: model.avg(cand.set, cumsum(weight) <= 0.95)