在 R 中将 coef 和 summary.lm 与 robcov 一起使用(提取 p 值)
我可以提取斜率和斜率的 p 值以这种方式从 ols 对象拦截:
library(rms)
m1 <- ols(wt ~ cyl, data= mtcars, x= TRUE, y= TRUE)
coef(summary.lm(m1))
但是当我尝试使用 robcov 对象执行相同的操作时,summary.lm 为我提供原始模型 (m1) 的 p 值,而不是 robcov 模型:
m2 <- robcov(m1)
m2
coef(summary.lm(m2))
我认为这必须与来自 robcov 帮助页面的警告,
警告
调整后的 ols 拟合没有打印更正的标准误差 与 print.ols。使用 sqrt(diag(adjfit$var)) 来获取此值,其中 adjfit 是 robcov 的结果。
但我不知道怎么做。
有没有办法从 robcov 对象中提取 p 值? (我真的只对斜坡感兴趣,如果这有影响的话......)
I can extract the p-values for my slope & intercept from an ols object this way:
library(rms)
m1 <- ols(wt ~ cyl, data= mtcars, x= TRUE, y= TRUE)
coef(summary.lm(m1))
But when I try the same thing with a robcov object, summary.lm gives me the p-values from the original model (m1), not the robcov model:
m2 <- robcov(m1)
m2
coef(summary.lm(m2))
I think this must be related to the Warning from the robcov help page,
Warnings
Adjusted ols fits do not have the corrected standard errors printed
with print.ols. Use sqrt(diag(adjfit$var)) to get this, where adjfit
is the result of robcov.
but I'm not sure how.
Is there a way to extract the p-values from a robcov object? (I'm really only interested in the one for the slope, if that makes a difference...)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过
print.ols
和prModFit
进行黑客攻击,我想出了这个。将 m2 更改为另一个 robcov 模型。
通过比较
P
与print(m2)
的结果来亲自尝试一下Hacking through
print.ols
andprModFit
, I came up with this.Change m2 to another robcov model.
Try it for yourself by comparing the results of
P
toprint(m2)