親族 n00b からの質問: ベクトルを長さの異なる 3 つのベクトルに分割し、各ベクトルにランダムに値を割り当てたいと思います。たとえば、以下の長さ 12 のベクトルを長さ 2、3、および 7 のベクトルに分割したいと思います。
これを使用して、3 つの等しいサイズのベクトルを取得できます。
test<-1:12
split(test,sample(1:3))
長さ 4 の 3 つのベクトルではなく、テストを 2、3、および 7 のベクトルに分割する方法について何か提案はありますか?
親族 n00b からの質問: ベクトルを長さの異なる 3 つのベクトルに分割し、各ベクトルにランダムに値を割り当てたいと思います。たとえば、以下の長さ 12 のベクトルを長さ 2、3、および 7 のベクトルに分割したいと思います。
これを使用して、3 つの等しいサイズのベクトルを取得できます。
test<-1:12
split(test,sample(1:3))
長さ 4 の 3 つのベクトルではなく、テストを 2、3、および 7 のベクトルに分割する方法について何か提案はありますか?
rep各グループのインデックスを作成し、それに基づいて分割するために使用できます
split(1:12, rep(1:3, c(2, 3, 7)))
最初のベクトルの最初の 2 項目、2 番目のベクトルの次の 3 項目だけではなく、項目をランダムに割り当てたい場合は、呼び出しを追加するだけです。sample
split(1:12, sample(rep(1:3, c(2, 3, 7))))
特定の長さ (2,3,7) を念頭に置いていないが、毎回同じ長さのベクトルにしたくない場合は、SimonO101 の答えが最適です。
補助ベクトルを使用して、データを分割する方法をフォーマットできます。例:
Data <- c(1,2,3,4,5,6)
Format <- c("X","Y","X","Y","Z,"Z")
output <- split(Data,Format)
出力を生成します:
$X
[1] 1 3
$Y
[1] 2 4
$Z
[1] 5 6