我有一个计数向量,我想用 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/