如何随机抽取多个观察变量

kst*_*pt3 1 random r unique large-data sampling

菜鸟这里 - 我有一个大约75,000个观测数据和2000个唯一ID的大数据集.因此,每个ID有大约37个观察值.现在,我如何随机抽取唯一ID,例如4,这样我就有了一个新的数据框,其中包含4个随机唯一ID及其相应的观察结果,共计约150个观察值?

luk*_*keA 6

像这样:

df <- data.frame(id = gl(2000, 37), obs = runif(74000)) # Example data set
ids <- sample(levels(df$id), 4)
df.sub <- df[df$id %in% ids, ]
Run Code Online (Sandbox Code Playgroud)


Mas*_*awa 5

library(dplyr)

## 4 is the subsample size
d_small <- ChickWeight %>% filter(Chick %in% sample(unique(Chick), 4)) 
Run Code Online (Sandbox Code Playgroud)

  • +1 - 只是旁注,我不会包含`nlme`包,它似乎只是加载使用示例数据集.您可以使用基本R中的一个数据集,以便其他人不需要加载(并可能安装)额外的包. (2认同)