2013-05-10 165 views
-1

我在nlme包中運行線性混合模型。lme函數中的R錯誤:NA/NaN/Inf在外部函數調用中(arg 3)

control <- lmeControl(maxIter=100,opt = c("optim")) 
lme(response ~ 0+factorA+covariate,random=~1|factorB, 
       weights=varIdent(form= ~1|factorA),control=control), 

並且,它出現如下錯誤。

Error in logLik.reStruct(object, conLin) :NA/NaN/Inf in foreign function call (arg 3) 

是否與收斂誤差相同?或其他人?

感謝

+2

對不起,但沒有足夠的信息來回答這個問題。如果可能,請發佈可複製的示例(http://tinyurl.com/reproducible-000),並且至少提供更多關於上下文的信息。 – 2013-05-10 18:49:12

+0

我編輯我原來的問題。謝謝 – Colin 2013-05-10 18:52:53

回答

0

這還不是很一個答案,但格式將是一個可怕的意見。 (如果問題得到解決,稍後將刪除或編輯。)

到目前爲止,我無法重現。這裏有一個可重複的例子:

set.seed(101) 
d <- data.frame(covariate=runif(500),response=rnorm(500), 
       factorA=factor(sample(1:5,size=500,replace=TRUE)), 
       factorB=factor(sample(1:5,size=500,replace=TRUE))) 
library("nlme") 
control <- lmeControl(maxIter=100,opt = c("optim")) 
m1 <- lme(response ~ 0+factorA+covariate,random=~1|factorB, 
      weights=varIdent(form= ~1|factorA),control=control, 
      data=d) 

由於這個工程,它很難走得更遠。

如果您可以provide a reproducible example,這將是最好的。除此之外,您可以通過設置options(error=recover)debug(nlme:::logLik.reStruct)來調試/幫助調試。一旦你進入瀏覽器,你可以嘗試命令,如

ls() 
str(object) 
str(conLin) 
dput(object) 
dput(conLin) 

並提供適當的結果。

相關問題