r - 如何在 R 中引导重新采样计数数据

标签 r resampling

我有一个计数向量,我想用 R 中的替换来重新采样:

X350277  128
X193233  301
X514940 3715
X535375  760
X953855   50
X357046  236
X196664  460
X589071  898
X583656  670
X583117 1614

(注意第二列是计数,第一列是计数代表的对象)

通过阅读各种文档,似乎很容易对数据进行重新采样,其中每行或每列代表一个观察值。但是,当每一行代表多个观察结果加在一起(如计数表中)时,我该如何执行此操作?

最佳答案

您可以使用加权采样(正如 user20650 在评论中也提到的那样):

sample_weights <- dat$count/sum(dat$count)
mysample <- dat[sample(1:nrow(dat),1000,replace=T,prob=sample_weights),]

一种效率较低的方法(根据您想要执行的操作可能有其用途)是将数据再次转换为“long”:

dat_large <- dat[rep(1:nrow(dat),dat$count),]

#then sampling is easy
mysample <- dat_large[sample(1:nrow(dat_large),1000,replace=T),]

关于r - 如何在 R 中引导重新采样计数数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163909/

相关文章:

r - 通过R在redis中存储大数据帧

r - 在 qqplot 和 Shiny 中命名图例

r - 使用具有 2 位有效数字的 formatC 的奇怪输出

video - 如何在不使用 ffmpeg 保持视频持续时间的情况下重新采样 FPS?

machine-learning - 训练测试拆分后不平衡数据的欠采样

python - Pandas:将数据帧写入json

r - 如何使用 data.table 包通过另一个排序列创建日期列的时间滞后?

r - 在一个函数中有多个 pander()

Python Pandas 库按截断日期重新采样

r - 通过具有任意函数的非整数因子聚合栅格