如何仅打印(调整)回归模型的R平方?
我是R的初学者。我有一套关于空气污染的数据。色谱柱为现场、测量浓度和可能影响浓度的80个变量(v1-v80)。 我想用我自己的代码建立一个基于R平方/adj的正向逐步回归模型(所以我不想使用类似step()或regsubset()的东西)。因变量为浓度,变量v1-v80为自变量。我为第一步编写了以下代码(简化了数据集): 等等 我如何才能只获得相关变量的名称和(调整后的)for循环中生成的每个模型的R平方作为输出 谢谢如何仅打印(调整)回归模型的R平方?,r,linear-regression,R,Linear Regression,我是R的初学者。我有一套关于空气污染的数据。色谱柱为现场、测量浓度和可能影响浓度的80个变量(v1-v80)。 我想用我自己的代码建立一个基于R平方/adj的正向逐步回归模型(所以我不想使用类似step()或regsubset()的东西)。因变量为浓度,变量v1-v80为自变量。我为第一步编写了以下代码(简化了数据集): 等等 我如何才能只获得相关变量的名称和(调整后的)for循环中生成的每个模型的R平方作为输出 谢谢 library(broom) glance(model)[c(1,2)]
library(broom)
glance(model)[c(1,2)]
Input = ("site concentration v1 v2 v3
1 1 -0.84085548 1.7114409 -0.2857736 -1.0803926
2 2 1.38435934 -0.6029080 0.1381082 -0.1575344
3 3 -1.25549186 -0.4721664 1.2276303 -1.0717600")
df = read.table(textConnection(Input),header=TRUE)
for (j in names(df)){
model <- lm(concentration ~ df[[j]], data = df)
print(j)
print(glance(model)[c(1,2)])
}
[1] "site"
r.squared adj.r.squared
1 0.02132635 -0.9573473
[1] "concentration"
r.squared adj.r.squared
1 1 1
[1] "v1"
r.squared adj.r.squared
1 0.1717716 -0.6564568
[1] "v2"
r.squared adj.r.squared
1 0.1482473 -0.7035055
[1] "v3"
r.squared adj.r.squared
1 0.9762587 0.9525174
Warning message:
In stats::summary.lm(x) :
essentially perfect fit: summary may be unreliable
for (j in names(df)){
model <- lm(concentration ~ df[[j]], data = df)
print(j)
print(summary(model$r.squared))
print(summary(model$adj.r.squared))
}
[1] "v1"
Length Class Mode
0 NULL NULL
Length Class Mode
0 NULL NULL
[1] "v2"
Length Class Mode
0 NULL NULL
Length Class Mode
0 NULL NULL
library(broom)
glance(model)[c(1,2)]
Input = ("site concentration v1 v2 v3
1 1 -0.84085548 1.7114409 -0.2857736 -1.0803926
2 2 1.38435934 -0.6029080 0.1381082 -0.1575344
3 3 -1.25549186 -0.4721664 1.2276303 -1.0717600")
df = read.table(textConnection(Input),header=TRUE)
for (j in names(df)){
model <- lm(concentration ~ df[[j]], data = df)
print(j)
print(glance(model)[c(1,2)])
}
[1] "site"
r.squared adj.r.squared
1 0.02132635 -0.9573473
[1] "concentration"
r.squared adj.r.squared
1 1 1
[1] "v1"
r.squared adj.r.squared
1 0.1717716 -0.6564568
[1] "v2"
r.squared adj.r.squared
1 0.1482473 -0.7035055
[1] "v3"
r.squared adj.r.squared
1 0.9762587 0.9525174
Warning message:
In stats::summary.lm(x) :
essentially perfect fit: summary may be unreliable
summary(model)$adj.r.squared
summary(model)$r.squared