【发布时间】:2019-04-06 17:45:21
【问题描述】:
这个问题基本上是我之前问的问题的延伸:How to only print (adjusted) R-squared of regression model?
我想建立一个线性回归模型来预测具有 150 个潜在预测因子的浓度。我想执行手动逐步前进过程。数据集看起来或多或少像这样:
df = data.frame(
Site = c("A", "B", "C", "D"),
Concentration = c(2983, 9848, 2894, 8384),
Var1 = c(12, 23, 34, 45),
Var2 = c(23, 34, 45, 56))
我使用以下代码为每个可能的预测变量创建一个单变量模型,并检查调整后的 R 平方。
for (j in names(df)){
model <- lm(Concentration ~ df[[j]], data = df)
print(j)
print(summary(model)$adj.r.squared)
[1] "site"
r.squared adj.r.squared
1 0.02132635 -0.9573473
然而,检查 150 个变量的调整后 R 平方需要做大量工作。
是否可以使用所有调整后的 R 平方值和每个对应的变量名称来制作数据框?
或者对调整后的 R 平方值进行排名,使最高值在前(并打印相应的变量名)?
我很想知道这样的事情是否可行。这对我有很大帮助。
提前致谢!
【问题讨论】:
标签: r dataframe linear-regression