2016-04-01 10 views
3

Dies könnte für viele R-Experten eine sehr einfache Frage sein. Wo viele Spalten im Datenrahmen sind und Sie einfach eine oder zwei Spalten weglassen und alles andere in die Multiple Regression einbeziehen möchten, Wie können wir das erreichen, ohne große Fragen zu schreiben?R: Multiple Regression lässt eine Variable aus (Spalte)

zum Beispiel enthalten alle:

lm(y ~., data=myFrame) 

Dann, wenn Sie eins nach dem anderen

lm(y ~ x1 + x2 + x3) 

zu selbst aussuchen wollen, aber wenn Sie 50 Variablen haben, wollen aber einige auszulassen Was ist der beste Weg? Weil ich zwei oder drei alles weglassen möchte und dann Vorwärts- und Rückwärtsauswahl mache.

Antwort

6

Verwenden Sie den . Operator für „alles, was in dem Datenrahmen mit Ausnahme der Antwortvariable“ und den - Operator für „aber dieses auslassen“ ...

lm(y ~ . - excluded_1 - excluded_2, data = myFrame) 
1

Sie können die Verwendung R Einbau-subsetting:

all.but.x1x2x3 <- myFrame[, !(colnames(myFrame) %in% c('x1', 'x2', 'x3'))] 
lm(y ~., data=all.but.x1x2x3)