gpt4 book ai didi

r - 使用 dplyr 的 sample_n 函数按组采样

转载 作者:行者123 更新时间:2023-12-04 13:39:22 25 4
gpt4 key购买 nike

根据dplyr帮助文件 sample_n函数对每组采样固定数量。

当我运行以下代码时,我希望每个 tobgp 和 alcgp 组合有两个样本,因此总共有 32 (4*4*2) 行。但是只返回两行。

by_tobgp_alcgp <- esoph %>% group_by(tobgp,alcgp)

sample_n(by_tobgp_alcgp , 2)


# Source: local data frame [2 x 5]
# Groups: tobgp, alcgp
#
# agegp alcgp tobgp ncases ncontrols
# 10 25-34 80-119 10-19 0 1
# 50 55-64 0-39g/day 30+ 4 6

这样对吗?是否有其他方法可以使用 dplyr 来实现这一点?

最佳答案

issue @Henrik 描述的是 closed .
sample_n运算符将处理 dplyr 的分组数据框版本 >= 0.3

library(dplyr)
data(esoph)

set.seed(123)

esoph %>%
group_by(tobgp, alcgp) %>%
sample_n(2)

#Source: local data frame [32 x 5]
#Groups: tobgp, alcgp [16]
#
#agegp alcgp tobgp ncases ncontrols
#(fctr) (fctr) (fctr) (dbl) (dbl)
#1 65-74 0-39g/day 0-9g/day 5 48
#2 25-34 0-39g/day 0-9g/day 0 40
#3 45-54 40-79 0-9g/day 6 38
#4 75+ 40-79 0-9g/day 2 5
#5 55-64 80-119 0-9g/day 9 18
#6 35-44 80-119 0-9g/day 0 11
#7 45-54 120+ 0-9g/day 4 4
#8 65-74 120+ 0-9g/day 3 4
#9 45-54 0-39g/day 10-19 0 18
#10 65-74 0-39g/day 10-19 4 14
#11 75+ 40-79 10-19 1 3
#12 55-64 40-79 10-19 6 21
#13 45-54 80-119 10-19 6 14
#14 25-34 80-119 10-19 0 1
#15 75+ 120+ 10-19 1 1
#16 35-44 120+ 10-19 0 3
#17 25-34 0-39g/day 20-29 0 6
#18 55-64 0-39g/day 20-29 3 12
#19 65-74 40-79 20-29 5 9
#20 25-34 40-79 20-29 0 4
#21 55-64 80-119 20-29 3 6
#22 65-74 80-119 20-29 2 3
#23 45-54 120+ 20-29 2 3
#24 35-44 120+ 20-29 2 4
#25 55-64 0-39g/day 30+ 4 6
#26 35-44 0-39g/day 30+ 0 8
#27 35-44 40-79 30+ 0 8
#28 25-34 40-79 30+ 0 7
#29 35-44 80-119 30+ 0 1
#30 55-64 80-119 30+ 4 4
#31 25-34 120+ 30+ 0 2
#32 65-74 120+ 30+ 1 1

关于r - 使用 dplyr 的 sample_n 函数按组采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23995851/

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