如何从R中的线性回归中提取p值和R平方?

我们可以使用带有$r.squared的回归模型对象名称来找到R平方,并使用用户定义的函数来提取p值。

示例

提取R平方

> x<-c(32,37,68,87,32,43)
> y<-c(12,8,6,3,5,3)
> LinearRegression<-lm(y~x)
> summary(LinearRegression)$r.squared
[1] 0.2814271

提取p值

> Regressionp <- 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)
> Regressionp(LinearRegression)
[1] 0.2789025