使用R中的split()和sample()随机分割数组

时间:2017-08-06 01:34:34

标签: arrays r split

我创建了一个由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)) 

但这不会起作用。

有什么想法吗?

1 个答案:

答案 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