'lme' error R "попытка применить не-функцию - PullRequest
0 голосов
/ 14 октября 2019

Я выполняю анализ 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(формула = ~ посещение + sx + agevis + c_bmi +: попытка применить не-функцию

Я не уверен, что я делаю неправильно или как заставить работать модель. Я действительно ценюОтвет. Спасибо.

Я пытаюсь запустить линейную модель смешанного эффекта с VT в качестве моей зависимой переменной, посещение в качестве моей переменной времени, с авторегрессионной корреляцией 1-го порядка, оценкой 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.

1 Ответ

1 голос
/ 14 октября 2019
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), затем выполните шагифункция построчно, чтобы увидеть, что именно ошибка в ответ.

...