Я пытаюсь провести простой анализ линейной регрессии, используя фрейм данных с 4 столбцами (все из которых являются зависимыми переменными) и фрейм данных, имеющий 194 строки и 212 столбцов. У меня есть 5 других фреймов данных для использования в качестве зависимой переменной для того же анализа
Я добился желаемых результатов, но мне нужно масштабировать это, я попытался добавить дополнительные для l oop (для столбцы зависимой переменной), но мне также нужно было бы одновременно создавать более пустые списки.
Хотелось бы узнать, как бы мне этого добиться?
Мой текущий for-l oop:
y <- data.frame(Green_Class_Commercial[,-1])
x <- data.frame(lagvar[1:175,c(-1,-2)])
out <- data.frame(NULL) # create object to keep results
for (i in 1:length(x)) {
m <- summary(lm(y[,1] ~ x[,i])) # run model
out[i, 1] <- names(x)[i] # print variable name
out[i, 2] <- m$coefficients[1,1] # intercept
out[i, 3] <- m$coefficients[2,1] # coefficient
out[i, 4] <-m$coefficients[2,4] # Pvalue
out[i,5] <-m$r.squared # R-squared
}
names(out) <- c("Variable", "Intercept", "Coefficient","P-val","R-square")
head(out)
Предоставление вывода
> head(out)
Variable Intercept Coefficient P-val R-square
1 GDP.SC 0.2540527 -4.722220e-07 0.7032087 8.411229e-04
2 GDP.SC1 0.1148311 3.107631e-07 0.7959237 3.899366e-04
3 GDP.SC2 0.1609010 4.998762e-08 0.9673014 9.855831e-06
4 GDP.SC3 0.1353608 1.959274e-07 0.8746321 1.468544e-04
5 GDP.SC4 0.1439931 1.487237e-07 0.9064221 8.200597e-05
6 CivilianLaborForce.SC 0.2595231 -4.078450e-08 0.7716514 4.881398e-04
>
Итак, вот переменные, которые я хочу запустить регрессию
#The x Variable
structure(list(GDP.SC = c(154698, 154698, 154698, 154698, 154698,
154698, 154698, 154698, 154698, 154698, 160138.4, 160138.4, 160138.4,
160138.4, 160138.4, 160138.4, 160138.4, 160138.4, 160138.4, 160138.4
), GDP.SC1 = c(NA, 154698, 154698, 154698, 154698, 154698, 154698,
154698, 154698, 154698, 154698, 160138.4, 160138.4, 160138.4,
160138.4, 160138.4, 160138.4, 160138.4, 160138.4, 160138.4),
GDP.SC2 = c(NA, NA, 154698, 154698, 154698, 154698, 154698,
154698, 154698, 154698, 154698, 154698, 160138.4, 160138.4,
160138.4, 160138.4, 160138.4, 160138.4, 160138.4, 160138.4
), GDP.SC3 = c(NA, NA, NA, 154698, 154698, 154698, 154698,
154698, 154698, 154698, 154698, 154698, 154698, 160138.4,
160138.4, 160138.4, 160138.4, 160138.4, 160138.4, 160138.4
), GDP.SC4 = c(NA, NA, NA, NA, 154698, 154698, 154698, 154698,
154698, 154698, 154698, 154698, 154698, 154698, 160138.4,
160138.4, 160138.4, 160138.4, 160138.4, 160138.4)), row.names = c(NA,
20L), class = "data.frame")
#The Y Variable
structure(list(X = 1:20, ComBus = c(0.83, 0, 0.23, 0.09, 0.1,
0.11, 0.15, 0.18, 0.37, 0.19, 0, 0.18, 0.09, 0.1, 0.03, 0.5,
0.14, 0.17, 0.11, 0.06), ComCon = c(NA, 0, 0, 0, 0, 0.5, 0, 0,
NA, 0.67, 0, 0, 0, 0, 0.5, 0, 0, NA, 1, 0), ComNoo = c(0.25,
0.14, 0.38, 0.17, 0.14, 0.33, 0.44, 0.05, 0.04, 0.1, 0.18, 0.06,
0.23, 0.14, 0.5, 0.14, 0.5, 0, 0.14, 0.23), ComOO = c(0, 0, 0,
0, 0, 0.33, 0, 0, 0, 0.18, 0.22, 0.15, 0, 0, 0.17, 0, 0, 0, 0,
0)), row.names = c(NA, 20L), class = "data.frame")