我需要在-1,1之间生成7个随机数,它们的总和等于1.我用这个代码来做.
diff(c(0, sort(round(runif(7,-1,1),2)), 1))
Run Code Online (Sandbox Code Playgroud)
但是我有一个很大的问题.
该代码的一个输出是-0.89,0.21,0.00,0.21,0.30,0.19,0.61,-0.63.
问题是它是统一的我猜这样每次都会在第一个和最后一个数字中生成大的随机数,这不是我想要的.我需要将它传播到所有数字.恩.0.22 -.21 .33 -.12 0.11 0.35 -0.08(总和不等于1只是一个例子)
你知道我可以写一个代码来获得这种随机数吗?