【问题标题】:'lme' error R "attempt to apply non-function'lme' 错误 R" 尝试应用非函数
【发布时间】:2019-10-13 22:15:39
【问题描述】:

我正在使用以下代码对我的数据集进行 lme 分析

M1 <- lme(VT ~ visit + sx + agevis + c_bmi + gpa + qa + BP + MH + ethn, data = Cleaned_data4t300919, random = ~ 1 + visit |id, corAR1(),method = "ML", na.action = na.omit(Cleaned_data4t300919))

我收到以下错误消息:

model.frame.default 中的错误(公式 = ~visit + sx + agevis + c_bmi + : 尝试应用非函数

我不确定我做错了什么或如何让模型运行。我真的很感激一个答案。谢谢你。

我正在尝试运行一个线性混合效应模型,其中 VT 作为我的因变量,访问作为我的时间变量,具有一阶自回归相关性,对具有一些缺失观察的数据进行 ML 估计。

我尝试通过以下方式更改代码,但收到相同的错误消息

library(nlme)
?lme
fm2 <- lme(VT ~ visit + sx + agevis + c_bmi + gpa + qa + BP + MH + ethn, data = Cleaned_data4t300919, random = ~ 1|id, corAR1(),method = "ML", na.action = na.pass(Cleaned_data4t300919))

fm2 <- lme(VT ~ visit + sx + agevis + c_bmi + gpa + qa + BP + sfnMH + ethn, data = Cleaned_data4t300919, random = ~ 1 + visit |cenid, corAR1(),method = "ML", na.action = na.omit(Cleaned_data4t300919))

fm2 <- lme(VT ~ visit + sx + agevis , data = Cleaned_data4t300919, random = ~ 1 + visit |id, corAR1(),method = "ML", na.action = na.omit(Cleaned_data4t300919))

fm2 <- lme(VT~visit + sx + agevis + c_bmi + gpa + qa + BP + MH + ethn, data = Cleaned_data4t300919, na.action = na.exclude(Cleaned_data4t300919))

fm2 <- lme(formula= sfnVT ~ visit + sx + agevis , data = Cleaned_data4t300919, random = ~ 1 + visit |cenid, corAR1(),method = "ML", na.action = na.omit(Cleaned_data4t300919))

我想使用 ggplot 获得代码和绘图估计的估计值。

【问题讨论】:

  • na.action = na.omit(Cleaned_data4t300919) 是我认为的问题。来自?lme - na.action: 一个函数,指示当数据包含“NA”时应该发生什么 - 您提供的是数据,而不是函数。确定此类问题的一种方法是使用debug - debug(lme),然后逐行逐行查看函数的确切响应。
  • @thelatemail,作为答案发帖?
  • @BenBolker - 升级为回答。

标签: r nlme


【解决方案1】:
na.action = na.omit(Cleaned_data4t300919)

和类似的尝试是我认为的问题。

来自?lme

na.action:一个函数,指示当数据发生时应该发生什么 包含'NA's

您提供的是数据,而不是函数,因为 na.omit(dataset) 返回一个 data.frame ,其中 NA 包含删除的行,而不是可以应用于指定的 data= 的东西。只是:

na.action=na.omit

或类似的na.* 函数就足够了。

确定此类问题的一种方法是使用?debug - debug(lme),然后逐行逐行查看该函数的确切响应内容。

【讨论】:

  • 感谢您的回答。我是 R 新手,我不太明白你的答案。你能举个例子吗?
  • @sylvie - 例如:na.action=na.omit 就足够了,您也不需要再次指定数据集。
猜你喜欢
  • 2015-10-27
  • 2021-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-27
相关资源
最近更新 更多