2015-01-29 21 views
10

Ich möchte das gleiche tun wie here aber mit dplyr und einer weiteren Spalte.Wie übergeben Sie den Spaltennamen als Parameter für die Funktion in dplyr?

Ich möchte eine Spalte über eine String-Variable auswählen, aber oben möchte ich auch eine zweite Spalte normalerweise auswählen. Ich brauche das, weil ich eine Funktion habe, die durch bestimmte Parameter ein paar Spalten auswählt.

Ich habe den folgenden Code als Beispiel:

library(dplyr) 
data(cars) 

x <- "speed" 
cars %>% select_(x, dist) 
+6

Können Sie nicht zitieren 'dist' einfach zu wie in' Autos%>% SELECT_ (x, "dist") '? –

Antwort

9

Sie quote() für die dist Spalte

x <- "speed" 
cars %>% select_(x, quote(dist)) %>% head 
# speed dist 
# 1  4 2 
# 2  4 10 
# 3  7 4 
# 4  7 22 
# 5  8 16 
# 6  9 10 
2

Ich weiß, ich bin ein wenig spät, um diese verwenden, aber ich dachte, Ich würde es für andere hinzufügen.

x <- "speed" 
cars %>% select(one_of(x),dist) %>% head() 
## speed dist 
## 1  4 2 
## 2  4 10 
## 3  7 4 
## 4  7 22 
## 5  8 16 
## 6  9 10 

ODER dies funktionieren würde zu

cars %>% select(one_of(c(x,'dist')))