【发布时间】:2020-04-09 06:24:29
【问题描述】:
您知道如何在已分组的数据框 (grouped_df) 上按组键(或索引)进行过滤吗?
例如:
df <- tibble(id1 = sample(1:10, 100, replace = TRUE),
id2 = sample(1:10, 100, replace = TRUE),
value = runif(100, 0, 1)) %>%
arrange(id1, id2)
如果我想获取最后5组对应的行:
df %>%
mutate(grp_id=paste0(id1, "_", id2)) %>%
filter(grp_id %in% tail(unique(grp_id), 5)) %>%
group_by(id1, id2)
df %>%
group_by(id1, id2) %>%
mutate(grp_id = group_indices()) %>%
ungroup() %>%
filter(grp_id %in% tail(unique(grp_id), 5)) %>%
group_by(id1, id2)
你知道分组后的过滤器怎么写吗?
df %>%
group_by(id1, id2) %>%
xxxxxx ?
【问题讨论】:
-
我想知道数据框分组后是否有一些方法可以编写过滤器。真正的数据帧将从已经分组的磁盘中恢复(读取),它有数百万行。因此,不必解组和重新组合会更快。