我有一个名为data的数字向量,长度为3205。
head(data,20)
[1] 225.43200 29.20875 329.46792 22.70996
[5] 80.84970 374.23959 343.11610 319.04798
[9] 2477.73200 72.79434 30.53376 92.39412
[13] 47.70744 52.30388 339.59634 1177.00448
[17] 48.27329 541.80997 38.45772 1568.93400
此数据的密度图如下所示:
plot(density(data))
我想随机抽样一个给定分布的向量。大多数情况下,选择的数字将低于1000,但也有一个小的机会,它是1000-3000,如果我们要绘制的密度合成抽样向量,它将最终看起来与这个密度图相同。什么是最好的方法来做到这一点?
1条答案
按热度按时间hmae6n7t1#
Stackoverflow链接中的一条评论中给出了一个公认的答案,建议使用经验 cdf 来执行逆采样方法。这是正确的,但有一个最简单的方法可以达到同样的结果:只需要从向量中随机选取一些元素,并进行替换。
另一种可能性是使用kde1d软件包从与向量分布拟合的连续分布中进行采样: