按组替换生成随机数

see*_*uus 3 random r sample

**因我是疯子而被编辑-有替换,而不是没有**

我有一个包含421个组的大型数据集(> 500k行),由两个分组变量定义。样本数据如下:

df<-data.frame(group_one=rep((0:9),26), group_two=rep((letters),10))

head(df)

  group_one group_two
1         0         a
2         1         b
3         2         c
4         3         d
5         4         e
6         5         f
Run Code Online (Sandbox Code Playgroud)

...等等。

我想要的是按(group_one x group_two)中的成员身份划分的样本数量(目前k = 12,但该数量可能有所变化)。每个组中的成员资格应由新列sample_membership指示,其值是1到k(目前为12)。我应该能够通过sample_membership进行子集化,并获得多达12个不同的样本,当考虑group_one和group_two时,每个样本都具有代表性。

因此,最终数据集将如下所示:

  group_one group_two sample_membership
1         0         a                 1  
2         0         a                12
3         0         a                 5
4         1         a                 5
5         1         a                 7
6         1         a                 9
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?首先十分感谢!

Sho*_*rpy 7

也许是这样的:

library(dplyr)
  df %>% 
    group_by(group_one, group_two) %>% 
    mutate(sample_membership = sample(1:12, n(), replace = FALSE))
Run Code Online (Sandbox Code Playgroud)