我有一个数据,我试图根据一个条件来过滤数据。下面是一个数据的例子。
df <- data.frame("x" = c("A", "A", "A", "B", "B", "B", "C"),
"y" = c("LL", "LL", "OO", "OO", "OO", "OO", "LL"))
我想过滤数据,只保留 "A",因为它与 "LL "和 "OO "都有关联。我知道这是一个条件过滤,但我不知道该如何编写条件代码。这是我目前尝试过的方法。
df %>%
group_by(x) %>%
filter(y == "LL" & y == "OO")
如果能提供一个基础的解决方案或dplyr的解决方案,我将会非常感激
一种选择是 all
library(dplyr)
df %>%
group_by(x) %>%
filter(all(c("LL", "OO") %in% y))
# A tibble: 3 x 2
# Groups: x [1]
# x y
# <fct> <fct>
#1 A LL
#2 A LL
#3 A OO
在上位机的代码中,它是在比较 &
即一行可以有'LL'和'OO',这是不可能的(除非是两列)。