作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
dim(dataset) [1]-6ren">
我有一个数据框:
> 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/
在数据仓库上工作,对这个问题的一个合适的类比是我们有医疗保健从业者。医疗保健从业者具有多种专业属性,并且在多个团队和多个临床领域工作。 例如,您可能有一名护士作为救援人员/承包商/银行工作人员在多个团
我是一名优秀的程序员,十分优秀!