使数据帧或秩调整为R平方-R

使数据帧或秩调整为R平方-R,r,dataframe,linear-regression,R,Dataframe,Linear Regression,这个问题基本上是我以前问过的问题的延伸: 我想建立一个线性回归模型,用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)) 我使用下面的代码为每个可能的预测值建立一个单变量模型,并检查调

这个问题基本上是我以前问过的问题的延伸:

我想建立一个线性回归模型,用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
for(名称中的j(df)){

模型您可以将结果保存到aa矩阵中,然后打印此矩阵。 首先创建一个新的矩阵

adj.r.mat   <- matrix(, nrow = length(names(df)), 
                        ncol = 2)
               colnames(adj.r.mat) <- c("Name Var", "Adj.R")
如果不需要前两个变量,可以从3开始循环

for (j in 3:length(names(df))){
model <- lm(Concentration ~ df[[j]], data = df)
adj.r.mat[j,1] <- names(df)[j]
adj.r.mat[j,2] <- summary(model)$adj.r.squared
}

我刚刚编辑了代码。你需要更正你的“df”。一个条目在“Site”中丢失。我将其更改为c(“A”、“B”、“c”、“D”)。@Qeshet如果你觉得这个解决方案令人满意,你可以接受答案
print(adj.r.mat)
for (j in 3:length(names(df))){
model <- lm(Concentration ~ df[[j]], data = df)
adj.r.mat[j,1] <- names(df)[j]
adj.r.mat[j,2] <- summary(model)$adj.r.squared
}
print(adj.r.mat[-c(1,2),])