gpt4 book ai didi

r - 按组替换生成随机数

转载 作者:行者123 更新时间:2023-12-04 09:36:37 27 4
gpt4 key购买 nike

** 编辑,因为我是个傻瓜 - 有替换,不是没有 **

我有一个包含 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

...等等。

我想要的是一些分层样本(目前 k = 12,但这个数字可能会有所不同),通过 (group_one x group_two) 的成员资格。每个组中的成员资格应由一个新列 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

想法?首先十分感谢!

最佳答案

也许是这样的?:

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

关于r - 按组替换生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37734350/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com