说我有这个坏主题的data.frame:
df_bad = data.frame(id=c(1,2,3), condition=c('fun', 'boring', 'boring'))
主题1在“有趣”状态下是坏的,主题2和3在“无聊”状态下是坏的。现在我有了我的数据:
df = data.frame(id=c(1,1,2,2,3,3), condition=rep(c('fun', 'boring'), times=3), score=rnorm(6))
如何使用df
删除与id
中的一对condition
和df_bad
匹配的tidyr
行?即,如何最终得到此data.frame:
df = data.frame(id=c(1,2,3), condition=c('boring', 'fun', 'fun'), score=df$score[c(2,3,5)])
理想情况下,该解决方案也应适用于df_bad
中的三元组值。
答案 0 :(得分:3)
我们可以使用anti_join
library(dplyr)
anti_join(df, df_bad)