1

我可以通过这种方式从 ols 对象中提取斜率和截距的 p 值:

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 值?(我真的只对斜坡的那个感兴趣,如果这有所作为......)

4

1 回答 1

0

破解print.olsand prModFit,我想出了这个。

errordf <- m2$df.residual
beta <- m2$coefficients
se <- sqrt(diag(m2$var))
Z <- beta/se
P <- 2 * (1 - pt(abs(Z), errordf))

将 m2 更改为另一个 robcov 模型。

P通过比较to的结果自己尝试一下print(m2)

于 2012-02-15T20:29:34.630 回答