【问题标题】:lme - Error: object of type 'closure' is not subsettable [duplicate]lme - 错误:“闭包”类型的对象不是子集[重复]
【发布时间】:2014-01-17 02:35:57
【问题描述】:

我正在尝试运行线性混合效果模型(包 nlme),但我反复收到错误:“闭包”类型的对象不是子集。

> apoeht <- read.csv("apoeht.csv")  
> library(nlme)  
> model.a <- lme(Timmrec ~ age, data = apoeht, random = ~ age | pathid, 
+                na.exclude)  
Error: object of type 'closure' is not subsettable

谢谢。

【问题讨论】:

  • 您将na.exclude 作为第四个参数传递,即correlation。相反,在那里使用命名参数:na.action=na.exclude
  • 本论坛已经讨论过这个问题[这里("stackoverflow.com/questions/11308367/…

标签: r nlme


【解决方案1】:

问题是您将函数na.exclude() 传递给lme()correlation 参数。实际上,您的电话是:

model.a <- lme(Timmrec ~ age, data = apoeht, random = ~ age | pathid, 
               correlation = na.exclude)

处理correlation 参数的代码做了一些假设,但它肯定不会期望传递一个不相关的函数。

您可能想要使用na.action 参数,但如果您不提供其他参数,则必须为其命名。你想要的

model.a <- lme(Timmrec ~ age, data = apoeht, random = ~ age | pathid, 
               na.action = na.exclude)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2018-02-08
    • 2019-08-09
    相关资源
    最近更新 更多