2015-01-29 31 views
10

Chcę zrobić to samo, co here, ale z dplyr i jeszcze jedną kolumną.Jak przekazać nazwę kolumny jako parametr do działania w dplyr?

Chcę wybrać kolumnę za pomocą zmiennej łańcuchowej, ale na górze również chcę wybrać drugą kolumnę normalnie. Potrzebuję tego, ponieważ mam funkcję, która wybiera kilka kolumn według podanych parametrów.

Mam następujący kod jako przykład:

library(dplyr) 
data(cars) 

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

nie można po prostu zacytować 'dist' zbyt jak w' samochodów%>% select_ (x, "dist") '? –

Odpowiedz

9

Można wykorzystać quote() dla kolumny 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

Wiem, że trochę późno do tego, ale pomyślałem, Dodałbym to dla innych.

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 

OR to będzie działać zbyt

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