如何使用R语言sample()函数为各抽样事件设置指定抽取概率
R sample()函数自定义抽样概率实现方法
你可以通过sample()的prob参数指定每个元素的抽取概率,同时因为你需要抽取100个样本(远大于待抽取集合的元素总数3),需要额外设置replace = TRUE开启有放回抽样,修改后的代码如下:
mystring <- sample(x = 1:3, size = 100, replace = TRUE, prob = c(0.375, 0.25, 0.375))
参数说明
x:待抽取的元素集合,此处为1、2、3三个数值size:抽取的样本总数,和你原有代码逻辑保持一致为100replace:是否有放回抽样,此处必须设为TRUE,否则不放回模式下最多仅能抽取3个样本prob:对应x中每个元素的抽取概率,顺序和x的元素顺序一一对应,此处三个值依次对应1的抽取概率0.375、2的抽取概率0.25、3的抽取概率0.375
你可以通过以下代码验证抽样结果的概率分布是否符合预期:
# 计算各元素出现的频率 prop.table(table(mystring))
样本量越大,计算得到的频率会越接近你设置的理论概率。
内容的提问来源于stack exchange,提问作者Seydou GORO
相关产品推荐
相关产品推荐

