Квазиквитация и фильтрация с использованием dplyr [duplicate]

Я использую набор данных mtcars, чтобы проиллюстрировать мой вопрос. Например, я хочу подмножить данные на 4-цилиндровые автомобили. Я могу сделать:

mtcars %>% filter(cyl ==4)

В моей работе мне нужно передать строковую переменную в качестве имени столбца. Например:

var <- 'cyl'
mtcars %>% filter(var ==4)

Я также сделал:

mtcars %>% filter(!!var ==4)

В обоих случаях я получил пустой фрейм данных. Я ценю это, если кто-нибудь поможет мне. Большое спасибо.

1
задан 12 January 2018 в 08:49

1 ответ

Вы можете использовать eval (parse (text = для вычисления строк как переменных:

mtcars %>% filter(eval(parse(text='cyl')) == 4)

0
ответ дан 15 August 2018 в 16:46

Другие вопросы по тегам:

Похожие вопросы: