在R中使用coef和summary.lm与robcov(提取p值)

时间:2012-02-15 00:20:54

标签: r linear-regression

我可以提取我的斜率和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值? (我真的只对坡度感兴趣,如果这有所不同......)

1 个答案:

答案 0 :(得分:0)

通过print.olsprModFit进行黑客攻击,我提出了这个问题。

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

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

通过比较Pprint(m2)

的结果,亲自尝试一下