dim(dataset) [1]-6ren">
gpt4 book ai didi

r - dplyr:样本量大于总体规模

转载 作者:行者123 更新时间:2023-12-01 16:00:52 24 4
gpt4 key购买 nike

我有一个数据框:

> class(dataset)
[1] "grouped_df" "tbl_df" "tbl" "data.frame"
> dim(dataset)
[1] 64480 39

我想从哪里采样 50.000 个样本

> dataset %>% dplyr::sample_n(50000)

但一直报错

Error: Sample size (50000) greater than population size (1). Do you want to replace = TRUE?

但是例如有效:

> dim(dataset[1] %>% dplyr::sample_n(50000))
[1] 50000 1

那么为什么我的人口规模是 (1) - 这与分组有关吗?

最佳答案

是的,这可能与分组有关。正如您从 class(dataset) 的输出中看到的那样,您的数据当前已分组(请注意 grouped_df 信息),并且一个或多个组的观察值显然太少,无法抽样 50000无需更换的观察结果。

要解决此问题,您可以在采样前取消数据分组:

dataset %>% ungroup() %>% sample_n(50000)

或者您可以通过替换来采样:

dataset %>% sample_n(50000, replace = TRUE)

关于r - dplyr:样本量大于总体规模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629491/

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