【发布时间】:2020-06-25 21:57:44
【问题描述】:
假设我有一个长度为n 的向量。假设n=3 所以向量是v=c(3,5,4)。
我有一个包含n 行和m 列的零矩阵。假设m=5
mymatrix <- matrix(rep(0, 3*5), nrow=3)
我想要将v 的值随机分布在每一行的列中。所以在这个例子中,第一行的总和为 3,第二行的总和为 5,第三行的总和为 4。这将是一种可能的随机分配:
0 1 2 0 0
3 1 0 0 1
0 2 2 0 0
行的总和为 3,5,4,即v 的值。
我怎样才能做到这一点?我的想法是从
sapply(v, function(i){sample(1:m, i, replace=TRUE)})
然后从那里开始,但这给了我一个列表,因为每个结果的长度不同,我不确定如何从那里开始。
编辑:目的不是负数,因此 0 9 1 1 -8 总和为 3 将不是有效行。
【问题讨论】:
标签: r