2015-01-29 2 views
10

Я хочу сделать то же самое, что и here, но с dplyr и еще одной колонкой.Как передать имя столбца в качестве параметра для функции в dplyr?

Я хочу выбрать столбец с помощью строковой переменной, но сверху я также хочу выбрать второй столбец нормально. Мне нужно это, потому что у меня есть функция, которая выбирает пару столбцов по заданным параметрам.

У меня есть следующий код в качестве примера:

library(dplyr) 
data(cars) 

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

Не можете вы просто процитировать 'dist' тоже, как и в'% автомобилей>% select_ (х, "расстояние") '? –

ответ

9

Вы можете использовать quote() для 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

Я знаю, я немного опоздал к этому, но я вычислял Я бы добавил его для других.

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 

ИЛИ это будет работать слишком

cars %>% select(one_of(c(x,'dist'))) 
Смежные вопросы