lme - Ошибка: объект типа «закрытие» не является подмножеством

Я пытаюсь запустить линейную модель со смешанными эффектами (пакет 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

Спасибо.


person Andrews    schedule 17.01.2014    source источник
comment
Вы передаете na.exclude в качестве четвертого аргумента, который равен correlation. Вместо этого используйте именованные аргументы: na.action=na.exclude   -  person Justin    schedule 17.01.2014
comment
Эта проблема уже обсуждалась на этом форуме [здесь(stackoverflow.com/questions/11308367/   -  person heybhai    schedule 16.04.2014


Ответы (1)


Проблема в том, что вы передаете функцию na.exclude() аргументу correlation функции lme(). Фактически ваш вызов:

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)
person Gavin Simpson    schedule 17.01.2014