2016-07-29 5 views
0

나는 glmer와 모델에 맞게하기 위해 노력하고있어 나는이 오류가 계속에서 TRUE 오류가 아닙니다 8 개의 특징과 수천 개의 포인트가있는 큰 모델. 이 버그를 조사 할 때 너무 많은 숫자로 인해 발생할 수 있음을 발견했습니다. 내 기능을 살펴본 결과 NA 개 중 하나만있었습니다. 그런 다음 모델에서 해당 기능을 제외했지만 여전히 오류가 발생했습니다. 데이터가 너무 커서 게시 할 수 없습니다.(P <에는 NcoI (X)) ==에는 NcoI (Y)는 glmer

http://r.789695.n4.nabble.com/Error-from-lme4-quot-Error-p-lt-ncol-X-ncol-Y-is-not-TRUE-quot-td4712617.html

모델은 다음과 같다 :

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

재현 가능한 예제없이 문제를 해결하는 것은 어려울 것입니다. 단순히 "glmer"로 모델을 작성하면 현재와 같이 공식을 작성하는 것이 아니라 "손으로"작성하는 것과 같은 오류가 발생합니까? – aosmith

답변

1

문제는 다음 줄에 있었다 : 그것은 있었어야

fix.eff=formula(paste(fix.eff, "+(1|",ind.family,")")) 

fix.eff=formula(paste(fix.eff, "+(1| ind.family)")) 

ind.family은 데이터 세트의 열 x. 원래 작성된 방식으로 열 대신 현재 값으로 읽혀졌습니다. 따라서이 수식에는 (1|ind.family) 대신 (1|1)이라는 용어가 포함되었습니다. 이제는 고정되었으므로 작동합니다!

다른 누구에게도이 오류가 발생하는 경우 수식과 데이터를 매우 자세히 검토하여 생각하는 것이 맞는지 확인하는 것이 좋습니다.