根据概率分布创建数据集

时间:2017-11-13 17:41:30

标签: r

在R中,我需要创建一个数据集,其中有57 0,203 1,383 2等等。我以为我能够从概率分布中创建数据集:

sample_dist <- sample(c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14), size = 2608, 
replace = FALSE, prob = c(57/2608, 203/2608, 383/2608, 525/2608, 532/2608,
 408/2608, 273/2608, 139/2608, 45/2608, 27/2608, 10/2608, 4/2608, 0/2608, 1/2608, 1/2608))

但这不行。如果我设置replace = TRUE,我会从同一个发行版中获取一个样本,但是会有替换,这不会产生我想要的数据集。 我究竟做错了什么?甚至是创建这样一个数据集的好方法,还是你有更优雅的方法?

1 个答案:

答案 0 :(得分:2)

这样的事情:

ccc <- c(rep(0, 57), rep(1, 203), rep(2, 383)) #and so on
ccc <- sample(ccc) # shuffle values
cdf <- data.frame(r = ccc) # if you want data frame