首页 > 解决方案 > 在 dplyr 过滤器中连接

问题描述

我对应用串联的理解一定有失误。出于某种原因,此命令有效

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"))) 选择"

这样做的目的是创建一个由女性乘客 ID 组成的矩阵,这些乘客 ID 具有四个连接头衔中的任何一个。获得正确代码的任何帮助都会很棒,但此外,非常感谢您解释为什么这不起作用。

谢谢。

标签: rdplyrconcatenationstringr

解决方案


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

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

推荐阅读