Как передать имя столбца в качестве параметра для функции в dplyr?
Я хочу сделать то же самое, что и здесь, но с dplyr и еще одним столбцом.
Я хочу выбрать столбец через строковую переменную, но сверху я также хочу выбрать второй столбец как обычно. Мне это нужно, потому что у меня есть функция, которая выбирает пару столбцов по заданным параметрам.
У меня есть следующий код в качестве примера:
library(dplyr)
data(cars)
x <- "speed"
cars %>% select_(x, dist)
2 ответа
Решение
Ты можешь использовать 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
Я знаю, что немного опоздал к этому, но я решил добавить его для других.
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')))