Получить подходящие эффекты от модели с термином rcs - PullRequest
0 голосов
/ 11 ноября 2018

Я хотел бы получить подогнанные значения из линейной модели, которая включает в себя ограничение кубического сплайна, подходящее через rms::rcs(), чтобы перейти к графику эффектов. Проблема в том, что пакет, который я обычно использую для получения подходящих значений, effects, выдает ошибку, когда я пытаюсь передать модель с rcs термином.

Вот минимальное значение:

library(rms)
library(effects)
mod <- lm(Sepal.Length ~ rcs(Sepal.Width, 3), iris)
Effect("Sepal.Width", mod)
##Error in rcspline.eval(x, nk = nknots, inclx = TRUE, pc = pc, fractied = fractied) : knots not specified, and < 6 non-missing observations

Я попытался отладить эту ошибку, но не могу понять, как rcspline.eval() получил 6+ NA в x и не указан nknots. Как мне справиться с этой ошибкой? В качестве альтернативы, есть ли другой пакет, который может получить подходящие эффекты от модели с rcs термином?

1 Ответ

0 голосов
/ 11 ноября 2018

Пользователям среды rms необходимо использовать специализированные функции, поддерживающие ее деятельность:

 library(rms)
 ddist <- datadist(iris)  # need both datadist and options 
 options(datadist='ddist')
 mod <- ols(Sepal.Length ~ rcs(Sepal.Width, 3), iris)  # need ols rather than lm
 plot( Predict(mod, Sepal.Width))  # Predict can be done in 2 or 3 dimension
        # gives a lattice output

enter image description here

...