我创建了一个由N个值组成的数组,比如说
a <- array(dim = c(x, y)).
我想将数组分区为K组,其中数组值随机分配给K组之一。例如,如果K = 2且N = 10,则一个子阵列可以具有7个值而另一个子阵列具有3.所有子阵列中的值必须总和为N(例如,7 + 3 = 10)。
我知道使用split()和sample()可能是最简单的路线。我试过了
split(a, sample(a, 2))
但这不会起作用。
有什么想法吗?
答案 0 :(得分:0)
a <- array(c(1,2,3,4,5,6))
k <- 3
split(sample(a),1:k)
# [1] 2 3
#
# $`2`
# [1] 4 5
#
# $`3`
# [1] 6 1