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

Posted

技术标签:

【中文标题】基于分组数据帧中的两个条件的子集【英文标题】:subset based on two condition from grouped dataframe 【发布时间】:2022-01-14 19:18:00 【问题描述】:

在我的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

【问题讨论】:

【参考方案1】:

你可以试试-

library(dplyr)

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

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

【讨论】:

如有兴趣,HERE

以上是关于基于分组数据帧中的两个条件的子集的主要内容,如果未能解决你的问题,请参考以下文章