我正在尝试使用glmer
来匹配模型并且我一直收到错误:
错误:(p< - ncol(X))== ncol(Y)不为TRUE
这是一个大型模型,具有8个功能和数千个点。在研究这个bug时,我发现它可能是由NA
太多引起的。我查看了我的功能,其中只有一个有NA
个。然后我从我的模型中排除了该功能,但我仍然得到了错误。数据太大,无法发布。
模型如下:
covariates=c("Sex", "PC1", "PC2", "PC3", "PC4", "label", "Alive")
fix.eff=paste("outcome","~",xi)
if (!is.null(covariates)) {for (covi in covariates) fix.eff=paste(fix.eff,"+",covi) }
fix.eff=formula(paste(fix.eff, "+(1|",ind.family,")"))
fit <- try(glmer(fix.eff,family=binomial(link='logit'), data=x))
答案 0 :(得分:1)
问题出在以下几行:
fix.eff=formula(paste(fix.eff, "+(1|",ind.family,")"))
应该是
fix.eff=formula(paste(fix.eff, "+(1| ind.family)"))
ind.family
是数据集x.
中的一列。它的原始编写方式是将其作为当前值而不是列读入。因此公式中包含术语(1|1)
而不是(1|ind.family)
。现在它已经修复了,它确实有效!
如果有其他人收到此错误,我建议您仔细查看您的公式和数据,以确保它符合您的想法。