【发布时间】:2018-04-13 18:19:06
【问题描述】:
我有一个像这样的小标题:
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))
如何在不更改 tibble 数据类型的情况下完全在 Dplyr 管道中执行此操作?
【问题讨论】:
标签: r statistics dplyr downsampling
我有一个像这样的小标题:
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))
如何在不更改 tibble 数据类型的情况下完全在 Dplyr 管道中执行此操作?
【问题讨论】:
标签: r statistics dplyr downsampling
这将获得最小的组大小(按b 分组),并从每个组中采样许多元素。不清楚这是不是你想要的。
如果你的小标题被称为df
df %>%
group_by(b) %>%
add_count %>%
slice(sample(row_number(), min(.$n))) %>%
select(-n)
【讨论】: