问题描述
:您可以直接从 summary object 中返回 r-squared
值summary(fit)$r.squared
。请参阅names(summary(fit))
查看您可以直接提取的所有项目的列表。
如果您想获得整体回归模型的 p 值,这篇博文概述了一个返回 p 值的函数:
lmp <- function (modelobject) {
if (class(modelobject) != "lm") stop("Not an object of class 'lm' ")
f <- summary(modelobject)$fstatistic
p <- pf(f[1],f[2],f[3],lower.tail=F)
attributes(p) <- NULL
return(p)
}
> lmp(fit)
[1] 1.622665e-05
在具有一个预测变量的简单回归的情况下,模型 p 值和系数的 p 值将相同。
如果您有多个预测变量,则以上将返回模型 p 值,并且可以使用以下方法提取系数的 p 值:
summary(fit)$coefficients[,4]
anova(fit)
或者,您可以以与上述摘要对象类似的方式从对象中获取系数的 p 值。
解决方法
您如何从简单的线性回归模型中提取 p 值(对于单个解释变量的系数非零的显着性)和 R 平方值?例如…
x = cumsum(c(0,runif(100,-1,+1)))
y = cumsum(c(0,+1)))
fit = lm(y ~ x)
summary(fit)
我知道这summary(fit)
会显示 p 值和 R 平方值,但我希望能够将它们粘贴到其他变量中。