我有一个关于如何获得随机样本但保持属于同一组的多个项目的问题。我真正想做的是抽样,但每个抽样必须包括所有项目。
这是一个从mtcars中采样的方法。使用这个,我得到两行随机的
(sampled_df <- mtcars[sample(nrow(mtcars), 2), ])
我可以取mtcars
,然后给它编号,就像有组一样。mtcars
有32个观测值。这里我说的是有八组,每组四项。
library(dplyr)
mtcars %>%
mutate(number = rep(1:8,each=4)) %>%
group_by(number) %>%
sample_n(2)
最后两行代码没有达到我的预期。我尝试用八行作为输出:来自两个组的所有四个观察值。
我正在处理发票数据,我希望能够使数据帧更小,同时确保我保持篮子大小相同。
你可能想要的是:
mtcars %>%
mutate(number = rep(1:8,each=4)) %>%
filter(number %in% sample(1:8, 2))