Привет, я начинаю использовать r и застреваю при анализе своих данных. У меня есть датафрейм, который имеет 157 столбцов. Столбец 1 является зависимой переменной, а от столбца 2 до 157 они являются независимыми переменными, но от столбца 2 до столбца 79 это тип независимой переменной (n = 78) и от 80 до 157 другого типа (n = 78). Я хочу выполнить (78 x 78 = 6084) несколько линейных регрессий, оставляя первую независимую переменную модели фиксированной по одной, от столбцов 2 до 79. Я могу исправить независимую переменную и сделать регрессии отдельно, как это
lm(Grassland$column1 ~ Grassland$column2 + x)
lm(Grassland$column1 ~ Grassland$column3 + x)
lm(Grassland$column1 ~ Grassland$column79 + x)
Мой вопрос: как я могу сделать регрессии 3064, написать один код и извлечь только те регрессии, чье значение p <0,05, исключив незначимые регрессии? </p>
Вот мой код
library(data.table)
Regressions <-
data.table(Grassland)[,
.(Lm = lapply(.SD, function(x) summary(lm(Grassland$column1 ~ Grassland$column2 + x)))), .SDcols = 80:157]
Regressions[, lapply(Lm, function(x) coef(x)[, "Pr(>|t|)"])] [2:3] < 0.05