0

我想从以下格式中采样 100x5 个数据点:概率为 0.6、2。否则(概率为 0.4、10 + Epsilon)Epsilon ~ {-2,-1,0,1,2}

这是我所做的,

data.frame(sapply(1:5, function(x) sample(c(2,10 +sample(-2:2,1)), 100, prob=c(0.6, 0.4),replace=T)))

但它不起作用。它对每一列仅对“sample(-2:2,1)”进行一次采样。

应该做什么?

4

1 回答 1

0

我为这种特殊情况找到了一个简单的解决方案:

data.frame(sapply(1:5, function(x) sample(c(2,8,9,10,11,12), 100, prob=c(0.6, 0.08,0.08,0.08,0.08,0.08),replace=T)))

但是什么是更通用的解决方案。例如,如果 Epsilon 来自连续分布?

于 2018-04-17T16:47:25.103 回答