dplyr где в другой таблице - PullRequest
1 голос
/ 01 мая 2020

Я ищу вариант dplyr для предложения SQL where in.

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

Instruments %>% filter(name %in% distinct(Musician$plays_instrument))

Я написал пример, аналогичный тому, который я получил в настоящее время над этой строкой. Я предполагаю, что мою ошибку можно увидеть в синтаксисе, который я использую. Если нет, я могу привести рабочий пример, если это необходимо. На его сборку уходит какое-то время, и я надеялся, что мне удастся решить эту проблему быстрее.

Ответы [ 2 ]

1 голос
/ 01 мая 2020

Мы можем использовать subset в base R

subset(Instruments, name %in% unique(Musician$plays_instrument))
1 голос
/ 01 мая 2020

Возможно, вам следует использовать unique, поскольку distinct требует в качестве первого аргумента фрейм данных.

library(dplyr)
Instruments %>% filter(name %in% unique(Musician$plays_instrument))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...