Конкатенация в фильтре dplyr - PullRequest
0 голосов
/ 27 апреля 2018

Должна быть ошибка в моем понимании применения конкатенаций. По какой-то причине эта команда работает

vec <- as.matrix(df %>%filter(Sex == "male" & !str_detect(Title, "Rev.")) %>% select(PassengerId))

Но когда я запускаю похожую команду, включающую несколько возможных заголовков, она не работает:

miss.weirdo_vec <- as.matrix(weirdos %>%filter(Sex == "female" & str_detect(Title, c("Ms"|"Mlle"|"Mme"|"Dona"))) select(PassengerId))

Ошибка: неожиданный символ в: "filter (Sex ==" female "& str_detect (Title, c (" Ms "|" Mlle "|" Mme "|" Dona "))) выберите "

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

Спасибо.

1 Ответ

0 голосов
/ 27 апреля 2018

Скорее всего, вы хотите это, но я не могу проверить, не зная вашего набора данных:

miss.weirdo_vec <- as.matrix(weirdos %>%
                               filter(Sex == "female",
                                      Title %in% c("Ms","Mlle","Mme","Dona")) %>%
                               select(PassengerId))
...