【发布时间】:2018-03-02 17:09:24
【问题描述】:
我试图只返回匹配两个条件过滤语句的行。
如果我按名称分组并且该名称在多行中使用,我会得到具有该名称的每一行。
name <- c("Jeff", "Jeff", "Jeff", "Jeff", "Jill", "Jill", "Jill", "Jill", "Angie", "Angie", "Angie")
total <- c(123, 234, 432, 321, 345, 456, 654, 543, 567, 678, 789)
code <- c("abc", "xyz", "lmn", "opq", "abc", "xyz", "txy", "jkl", "xyz", "tup", "rst")
table <- data.frame(name, total, code)
我的桌子是:
name total code
Jeff 123 abc
Jeff 234 xyz
Jeff 432 lmn
Jeff 321 opq
Jill 345 abc
Jill 456 xyz
Jill 654 txy
Jill 543 jkl
Angie 567 xyz
Angie 678 tup
Angie 789 rst
如果我运行这段代码:
library(dplyr)
test1 <- table %>% group_by(name) %>%
filter("abc" %in% code & "xyz" %in% code)
这给了我:
name total code
Jeff 123 abc
Jeff 234 xyz
Jeff 432 lmn
Jeff 321 opq
Jill 345 abc
Jill 456 xyz
Jill 654 txy
Jill 543 jkl
我认为问题在于 group_by(name) 但如果我不 group_by(name) 我不能在过滤器的同一列上使用 & 语句。
我想输出:
name total code
Jeff 123 abc
Jeff 234 xyz
Jill 345 abc
Jill 456 xyz
【问题讨论】: