我想生成N个随机整数,总和为M,并且每个整数必须从均匀分布中随机选择。
我的第一个想法是:
1)要枚举M的不同分区,然后
2)随机排列向量的元素
这是我执行此操作的代码:
library(partitions)
library(gtools)
N <- 10
M <- 5
x <- t(restrictedparts(M, N))
x <- split(x, seq(nrow(x)))
xp <- permute(x[[sample(1:length(x), 1)]])
但是,我不确定我的想法是正确的,因为当M> = 100时,不是从均匀分布中随机选择每个整数,并且代码太长。有没有办法做到这一点?
Python相关问题