2015-01-29 21 views
10

Voglio fare lo stesso come here ma con dplyr e un'altra colonna.Come passare il nome della colonna come parametro per funzionare in dplyr?

Voglio selezionare una colonna tramite una variabile stringa, ma in cima voglio anche selezionare normalmente una seconda colonna. Ho bisogno di questo perché ho una funzione che seleziona un paio di colonne per un dato parametro.

ho il seguente codice di esempio:

library(dplyr) 
data(cars) 

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

Non puoi semplicemente citare 'dist' troppo come in' automobili%>% select_ (x, "dist") '? –

risposta

9

È possibile utilizzare quote() per la colonna dist

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

So di essere un po 'tardi per questo, ma ho pensato Lo aggiungerei per gli altri.

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 

O questo dovrebbe funzionare anche

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