2017-08-06 13 views
0

でiがNの値からなる配列を作成して、Iは、配列値がランダムに割り当てられたK個のグループにアレイを分割するランダムスプリットスプリットを使用してアレイ()及びサンプル()R

a <- array(dim = c(x, y)). 

言いますKグループの1つにたとえば、K = 2およびN = 10の場合、一方のサブアレイは7つの値を有し、他方のサブアレイは3を有する。すべてのサブアレイの値はNに合計されなければならない(例えば、7 + 3 = 10)。

私はsplit()を使用していますが、sample()はおそらく最も簡単なルートです。私は試しました

split(a, sample(a, 2)) 

しかし、これは必要なように動作しません。

アイデア?

+0

分割後のデータは何ですか?アレイ?ベクター? – CPak

+0

@ChiPak私はそれをKサブアレイとしたい –

答えて

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 
+0

サブアレイ間で値を均等に分割するのではなく、サブアレイごとに異なる数の値を持つように実装を変更するにはどうすればよいですか? –

+0

'split(sample(a)、sample(1:k、length(a)、replace = TRUE))'のようなものは、範囲1のグループにランダムに各項目を割り当てます:k – epi99

関連する問題