【问题标题】:filter rows within groups after group_by in dplyr在 dplyr 中的 group_by 之后过滤组内的行
【发布时间】:2018-09-11 15:55:20
【问题描述】:

我有一个如下所示的数据框。一些主题/变量组在visit 中没有D1。我需要做的是过滤这些行。换句话说,我只需要提取那些在visit 中包含D1 的组。如果有人可以提供帮助,请不胜感激。

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) %>%
    ?????

【问题讨论】:

    标签: r dplyr


    【解决方案1】:

    我们可以使用%in%

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

    【讨论】:

      【解决方案2】:

      你可以使用any:

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

      【讨论】:

        猜你喜欢
        • 2015-03-18
        • 2018-03-21
        • 1970-01-01
        • 1970-01-01
        • 2016-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多