在dplyr过滤器

时间:2018-04-27 03:00:45

标签: r dplyr concatenation stringr

我对应用连接的理解必定会失效。出于某种原因,此命令有效

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))

错误:意外符号: &#34;过滤器(性别==&#34;女性&#34;&amp; str_detect(标题,c(&#34; Ms&#34; |&#34; Mlle&#34; |&#34; Mme&#34; |&## 34;多纳&#34;)))   选择&#34;

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

感谢。

1 个答案:

答案 0 :(得分:0)

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

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