2017-07-06 2 views
0

Neu in R, wie führen Sie eine Regression in R ohne den Variablennamen, sondern die Spaltennummer? Ich habe viele Regressions ich auf einer Schleife schätzen wollen, ich versuche, dies zu tun,r Aufruf von Dataframe Variable nach Spalte Nummer

stepreg<-with(newdata, lm(OutputChg~Furrow)) 

Und ich will Furrow durch seine Spalte # nennen statt Titel. Ist das möglich? Wie immer wird jede Hilfe sehr geschätzt, danke!

+0

Hängt davon ab, was Sie tatsächlich tun? Sehen Sie 'lm.fit' und erstellen Sie die gewünschte Modellmatrix für eine gegebene Variable, bevor Sie sie an 'lm.fit' übergeben. Gewöhnliche Warnung, dies nicht zu tun, wenn Sie Ihre Daten ausgraben möchten; Wenn Sie das vorhaben, nehme ich an, dass Sie die Probleme verstehen. Abhängig davon, wie viele Spalten/Modelle Sie anpassen möchten, könnten Sie dies bereits mit den Sprüngen tun. Verwende auch 'with()' nicht, um Spaß mit einer Formel zu modellieren. Verwenden Sie stattdessen das 'data'-Argument, für das es da ist:' stepreg <- lm (OutputChg ~ Furrow, data = newdata) '. –

Antwort

1

Sie könnten eine Formel innerhalb jeder Schleife konstruieren und es in der Regression verwenden, etwas entlang der Linien von

allnames <- names(iris)[-5] # find names to which you wish to regress 

for (name in allnames) { 
    myformula <- formula(sprintf("%s ~ Species", name)) 
    print(summary(lm(myformula, data = iris))) 
} 
Verwandte Themen