Приступаем к работе с объектом rms lrm

Я не могу заставить логистическую регрессию из пакета rms работать с confint(), вот пример:

library(rms)
data(mtcars)
dd <- datadist(mtcars)
options(datadist = "dd")
fit <- lrm(am ~ gear + mpg, data=mtcars)
confint(fit)

Это дает ошибку:

Ошибка: оператор $ недействителен для атомарных векторов

И traceback() дает:

4: profile.glm(object, which = parm, alpha = (1 - level)/4, trace = trace)
3: profile(object, which = parm, alpha = (1 - level)/4, trace = trace)
2: confint.glm(fit)
1: confint(fit)

Я предполагаю, что ограничение не реализовано для модели lrm().

Мой вопрос

Есть ли удобная альтернатива пути? Есть ли какая-то другая альтернатива, созданная для пакета rms?


r glm
person Max Gordon    schedule 25.12.2012    source источник


Ответы (2)


Попробуй это:

> summary(fit)[ , c("Lower 0.95", "Upper 0.95")]
               Lower 0.95   Upper 0.95
gear        -6.148918e+01 9.756505e+01
 Odds Ratio  1.975094e-27 2.354854e+42
mpg         -1.063706e+00 6.028564e+00
 Odds Ratio  3.451743e-01 4.151185e+02

(Эти результаты предполагают полное разделение или какую-то другую моделирующую патологию.)

person IRTFM    schedule 26.12.2012

confint.default(fit) работает. Обратите внимание, что он строит доверительные интервалы Вальда, а не более точные профильные доверительные интервалы, которые создает confint.glm()...

class(fit); methods(class="lrm"); methods(class="rms") не предлагайте очевидных замен...

Вы можете изучить bootcov() и друзей для доверительных интервалов начальной загрузки (но у меня они еще не работают...)

person Ben Bolker    schedule 25.12.2012