基于分组数据帧中两个条件的子集

subset based on two condition from grouped dataframe

在我的 data 中,我尝试对 study 值进行子集化,其中 reporting 既是 subscale 又是 composite

在此 data 中,所需的输出将是 study==1 的行。我尝试了以下但没有成功。有什么解决方法吗?

library(tidyverse)
m="
study  reporting
1      subscale
1      composite
2      subscale
2      subscale
3      composite"

data <- read.table(text = m, h=T)

data %>% group_by(study) %>% 
  filter(reporting=="composite"&reporting=="subscale") # Doesn't return anything

你可以试试-

library(dplyr)

data %>% 
  group_by(study) %>% 
  filter(all(c('composite', 'subscale') %in% reporting)) %>%
  ungroup()

#  study reporting
#  <int> <chr>    
#1     1 subscale 
#2     1 composite