【发布时间】:2020-08-20 15:00:06
【问题描述】:
对 R 非常陌生。 我有一个基于文本的大型 df,我想执行一些检查。 我想检查一个向量中的哪些变量(“颜色”)在另一个向量中有两个不同的变量(“a”和“b”)。这应该是 AND 而不是 OR 类型的查询。 df 是这样的
数据
structure(list(colour = c("blue", "blue", "red", "red", "red",
"purple", "purple"), letter = c("a", "c", "a", "m", "b", "a",
"b")), class = "data.frame", row.names = c(NA, -7L))
colour letter
blue a
blue c
red a
red m
red b
purple a
purple b
我认为最好的方法是进行子集化,这样我就可以得到一个包含相关数据的新 df ('df2'),它应该如下所示:
colour letter
red a
red b
purple a
purple b
我尝试了以下 dplyr 命令,但没有得到正确的结果('blue a' 仍然存在)。
df2<-df%>%group_by(colour)%>%filter(letter %in% c('a','b'))
如果能得到任何帮助,我将不胜感激!
【问题讨论】: