【问题标题】:R error in lme function: NA/NaN/Inf in foreign function call (arg 3)lme 函数中的 R 错误:外部函数调用中的 NA/NaN/Inf (arg 3)
【发布时间】:2013-05-10 18:34:36
【问题描述】:

我在 nlme 包中运行线性混合模型。

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)

和收敛误差一样吗?还是其他人?

谢谢

【问题讨论】:

  • 抱歉,提供的信息不足以回答这个问题。如果可能,请发布一个可重现的示例(tinyurl.com/reproducible-000),并至少提供有关上下文的更多信息。
  • 我编辑了我原来的问题。谢谢

标签: r nlme


【解决方案1】:

这不是一个完整的答案,但在评论中的格式会很糟糕。 (如果问题得到解决,稍后将删除或编辑。)

到目前为止,我无法复制。这是一个可重现的示例:

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)

并酌情提供结果。

【讨论】:

    猜你喜欢
    • 2012-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    • 1970-01-01
    • 2016-07-27
    • 2014-03-18
    • 2012-01-14
    相关资源
    最近更新 更多