从线性回归中提取出P值和R平方值。
从线性回归中提取出P值和R平方值。
如何从简单的线性回归模型中提取p值(用于解释变量系数非零的显著性)和R平方值?例如...
x = cumsum(c(0, runif(100, -1, +1))) y = cumsum(c(0, runif(100, -1, +1))) fit = lm(y ~ x) summary(fit)
我知道summary(fit)
可以显示p值和R平方值,但我希望能够将它们放入其他变量中。
admin 更改状态以发布 2023年5月23日
r-squared: 您可以直接从摘要对象summary(fit)$r.squared
中返回r-squared值。查看names(summary(fit))
以获取可以直接提取的所有项目列表。
模型p值:如果您想获取整个回归模型的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值,并且可以使用以下方式提取系数的p值:
summary(fit)$coefficients[,4]
或者,您可以以与上面的摘要对象类似的方式从anova(fit)
对象中获取系数的p值。