如何在标题中选择不同组的样本比例?
下面创建了一个示例标题。它有100个0和800个1。我想随机选择80%的0和20%的1
sample_frac或sample_n不允许对每个组进行不同的采样链接到它们的文档
library(tidyverse)
a <- c(rep(0, 100),
rep(1, 1000))
tbl <- tibble(a)
# select 80% of 0s and 20% of 1s
b <- tbl %>%
group_by(a) %>%
sample_frac(size = 0.2)
听起来你在寻找分层抽样。dplyr
提供较新的slice_sample
(或旧版本中的sample_n
/sample_frac
)。只需在如下所示的向量中提供每个关卡的权重,然后将其输入weight_by
参数。
# provide proportions
weights <- ifelse(a == 0, 0.8, 0.2)
# feeds weights into sample function
b <- tbl %>%
slice_sample(prop = 0.2, weight_by = weights)