在dplyr中的group_by之后过滤组内的行

时间:2018-09-11 15:55:21

标签: r dplyr

我有一个如下数据框。某些主题/变量组在visit中没有D1。我需要做的是过滤这些行。换句话说,我只需要提取visit中包含dt = expand.grid(subject=1:3, variable = c('A', 'B', 'C'), visit = c('D1', 'D2', 'D3')) dt <- dt %>% filter(!(variable=='C'&visit=='D1')) dt %>% group_by(subject, variable) %>% arrange(subject, variable) %>% ????? 的那些组。如果有人可以帮助您,请对此表示赞赏。

{{1}}

2 个答案:

答案 0 :(得分:2)

我们可以使用%in%

dt %>% 
   group_by(subject, variable) %>% 
   filter('D1' %in% visit)

答案 1 :(得分:1)

您可以使用any

dt %>% 
  group_by(subject, variable) %>% 
  filter(any(visit=="D1"))