我有这样的反复:
tibble(a = c(1,2,3,4,5), b = c(1,1,1,2,2))
我想通过" b"随机下采样数据。列,像这样:
tibble(a = c(1,3,4,5), b = c(1,1,2,2))
如何在Dplyr管道中完全执行此操作而不更改tibble的数据类型?
答案 0 :(得分:3)
这将获得最小的组大小(按b
分组),并对每组中的许多元素进行采样。不清楚这是不是你想要的。
如果您的tibble被称为df
df %>%
group_by(b) %>%
add_count %>%
slice(sample(row_number(), min(.$n))) %>%
select(-n)