ここsample
とsplit
を組み合わせた一つのアプローチです。 split
には、分割のグループ化を定義する要素が必要であると考えてください。グループ分けは1分13秒、9758回サンプリングして定義します。次に、これを使用してアイテムを分割します。この場合
set.seed(1)
item_codes <- 1:9758
split_factor <- sample(1:13, length(item_codes), replace=TRUE)
item_codes_split <- split(item_codes, split_factor)
item_codes_split
あなたは、ランダムにあなたは非常に不均一なグループを取得しますそう、9758回を1時13サンプリングされている(あなたが述べたように、1つのグループはどれか、非常に少数を持っていません)しかし、あなたはまた、(絶対に等しいグループ化を得ることはありませんすなわち、各群において9758/13〜750-751)。この分布は、あなたが設定されているあなたのために働く場合
lengths(item_codes_split)
1 2 3 4 5 6 7 8 9 10 11 12 13
787 730 709 765 773 782 735 715 715 724 748 790 785
:
あなたはすることにより、各グループ内にあるどのように多くの項目をチェックすることができます。それ以外の場合は、1〜9758のサンプルを置き換えずに750〜751のサイズでサンプリングし、リストからそれらのサンプリングされたアイテムを削除し、残りのサンプルを13個のグループになるまで繰り返しサンプリングします。
編集:上記のように、あまりにも上でこれを取ることにし、ここで我々は、ほぼ等しい長さの13基を有する:
set.seed(1)
item_codes_split <- list()
item_codes <- 1:9758
9758/13
# [1] 750.6154
split_size <- c(rep(c(751, 750), times=6), 9758-751*6-750*6)
split_size
# [1] 751 750 751 750 751 750 751 750 751 750 751 750 752
for (i in 1:13){
item_codes_split[[i]] <- sample(item_codes, size=split_size[i], replace=FALSE)
item_codes <- item_codes[-item_codes_split[[i]]]
}
item_codes_split
lengths(item_codes_split)
# [1] 751 750 751 750 751 750 751 750 751 750 751 750 752
「ランダムに割り当てる」とはどういう意味ですか?アイテムが最初に560に割り当てられ、次に560が566に割り当てられ、その後560が147アイテムに割り当てられるように見えます。コードについては、何を試しましたか?あなたはどんな結果を望んでいますか? – Feng
item_codeは行1:9758からのものですが、これらにはセクションが割り当てられていません。私はこれらを11のセクション(556と559を除く)に分割し、それらを残りのセクションに等しく割り当てようとしていました。条件付き、つまりSection555 item_code
mickeyt500
したがって、長さ9758のオーダーベクトルを割り当てることができますか? – Feng