Ich habe gerade angefangen, R zu lernen und kann nicht scheinen, dass diese Schleife funktioniert. Ich habe einen Datenrahmen mit 250 Zeilen und 503 Spalten (y) und einen weiteren Datenrahmen mit 250 Zeilen und 1 Spalte (x).Loops in R - lineare Regression
Ich versuche eine Schleife zu bekommen, um 503 separate Regressionen auszuführen, ohne sie einzeln eingeben zu müssen, dh.
(output_1 <- lm(y$1st column ~ x))
(output_2 <- lm(y$2nd column ~ x))
über alle 250 Zeilen in jeder Regression.
Ich habe versucht, diese Schleife:
for (i in 1:503) {
output_loop <- lm(y[,i]~x)
}
output_total <- cbind(output$coefficients)
aber das gab mir nur einen Schnittpunkt und einen Koeffizienten, wie bis 503 abfängt und 503 Koeffizienten gegenüber.
Die Zeilen jedes Datenrahmens haben Zeitmarken, die im Format JJJJ-MM-TT ausgerichtet sind, aber ich glaube nicht, dass dies die Regression beeinflusst, da der gesuchte Abschnitt und die ausgegebenen Koeffizienten unabhängig von der Zeit sind.
ich auch eine grundlegende lm versucht habe, mit:
(output <- lm(y~x))
output_total <- cbind(output$coefficients)
und das gibt 503 abfängt und 503 Koeffizienten, aber der Ausgang ist falsch, wenn ich vor Ort die Ausgabe gegen einige Spalten geprüft (wie oben einzelne Regression ausgeführt wird) .
Jede Hilfe auf dieser Schleife wird sehr geschätzt!
Danke
lm (y ~ x), wobei x mehr als Eine Spalte ist eine multiple Regression, die Koeffizienten stimmen nicht mit den Koeffizienten von jeder der 503 separaten Regressionen überein. – Seth