Я начинающий с R. У меня есть набор данных о загрязнении воздуха.Столбцы представляют собой сайт, измеренную концентрацию и 80 переменных (v1-v80), которые могут влиять на концентрацию.Я хочу сделать модель с прямой пошаговой регрессией на основе R-squared / adj с моим собственным кодом (поэтому я не хочу использовать что-то вроде step () или regsubset ()).Зависимой переменной является концентрация, а переменные v1-v80 как независимые переменные.Я написал следующий код для первого шага (набор данных упрощен):
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
for (j in names(df)){
model <- lm(concentration ~ df[[j]], data = df)
print(j)
print(summary(model))
}
Это хорошо работает, но меня интересует только R-квадрат и скорректированный R-квадрат.Я пытался печатать только (скорректированный) R-квадрат с:
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
Etcetera.
Как я могу получить в качестве вывода только имя соответствующей переменной и (скорректированный) R-квадрат для каждой модели, которая производится в цикле for?
Спасибо!