【发布时间】:2016-02-23 14:52:06
【问题描述】:
使用以下示例数据框,我想从因子“队列”的每个级别中抽取 ID 的“ID”的分层随机样本(例如 40%):
data<-structure(list(Cohort = c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), ID = structure(1:20, .Label = c("a1 ",
"a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "b10", "b11",
"b12", "b13", "b14", "b15", "b16", "b17", "b18", "b19", "b20"
), class = "factor")), .Names = c("Cohort", "ID"), class = "data.frame", row.names = c(NA,
-20L))
我只知道如何使用以下方法绘制随机数量的行:
library(dplyr)
data %>%
group_by(Cohort) %>%
sample_n(size = 10)
但我的实际数据是纵向的,所以我在每个群组中有多个相同 ID 的案例和几个不同大小的群组,因此需要选择一定比例的唯一 ID。任何援助将不胜感激。
【问题讨论】:
-
您应该提供重现您遇到的问题的数据,否则我们无法理解......所以如果您有多个ID,请使用此功能制作数据;)