在 dplyr 过滤器中连接

Concatenate in a dplyr filter

我对应用连接的理解一定有问题。由于某种原因,此命令有效

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(性别 == "female" & str_detect(标题, c("Ms"|"Mlle"|"Mme"|"Dona"))) select"

这样做的目的是创建一个矩阵,其中包含女性乘客 ID,并且具有四个串联头衔中的任何一个。任何有关获得正确代码的帮助都会很棒,但此外,我们将不胜感激解释为什么这不起作用。

谢谢。

很可能你想要这个,但我无法在不知道你的数据集的情况下验证:

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