Я только начал изучать R и не могу заставить этот цикл работать. У меня есть кадр данных, содержащий 250 строк и 503 столбца (y) и другой фрейм данных, содержащий 250 строк и 1 столбец (x).Петли в R - линейная регрессия
Я пытаюсь получить цикл для запуска 503 отдельных регрессий без необходимости вводить их отдельно, т.е.
(output_1 <- lm(y$1st column ~ x))
(output_2 <- lm(y$2nd column ~ x))
через все 250 строк в каждой регрессии.
Я попробовал этот цикл:
for (i in 1:503) {
output_loop <- lm(y[,i]~x)
}
output_total <- cbind(output$coefficients)
, но это только дал мне один перехват и один коэффициент, в отличие от 503 перехватов и 503 коэффициентов.
Строки каждого кадра данных имеют метки времени, которые выровнены в формате yyyy-mm-dd, но я не верю, что это влияет на регрессию по мере того, как требуемый выходной сигнал перехвата и коэффициентов не зависит от времени.
Я также попытался использовать основной лм:
(output <- lm(y~x))
output_total <- cbind(output$coefficients)
, и это дает 503 перехватов и 503 коэффициентов, однако выход неправильно, когда я выборочную проверку вывода против некоторых столбцов (работает индивидуальный регресс, как указано выше) ,
Любая помощь в этом цикле очень ценится!
Спасибо
лм (у ~ х), где х больше один столбец представляет собой множественную регрессию, коэффициенты не будут соответствовать коэффициентам из каждой из 503 отдельных регрессий. – Seth