我无法从 rms 包中获取逻辑回归以与 confint() 一起使用,这是一个示例:
library(rms)
data(mtcars)
dd <- datadist(mtcars)
options(datadist = "dd")
fit <- lrm(am ~ gear + mpg, data=mtcars)
confint(fit)
Run Code Online (Sandbox Code Playgroud)
这给出了错误:
错误:$ 运算符对于原子向量无效
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)
Run Code Online (Sandbox Code Playgroud)
我猜想 lrm() 模型没有实现限制。
有没有方便的替代方法?是否有为 rms 包创建其他替代方案?
confint.default(fit)
似乎有效。请注意,它正在构建 Wald 置信区间,而不是更准确的轮廓置信区间,从而confint.glm()
产生......
class(fit)
; methods(class="lrm")
; methods(class="rms")
不建议任何明显的替代品...
您可能会研究bootcov()
和朋友的引导置信区间(但我还没有让这些工作......)
尝试这个:
> 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
Run Code Online (Sandbox Code Playgroud)
(这些结果表明完全分离或其他一些建模病理学。)