私は次のものを持っています
cells = c(3, 5, 8, 6)
names(cells) = c('A', 'B', 'C', 'D')
セルの半分をランダムに選択し、新しいベクトル m1 に割り当てたいとします。セルの残りの半分は、m2 = セル - m1 に割り当てられます。私は R が初めてで、サンプル関数では、一度に個々のセルではなく、1 つのタイプのすべてのセルしか選択できないため、ここからどこに行けばよいかわかりません。
私のコードは現在このようになっています
y = ceiling(sum(cells)/2)
for(i in 1:y){
z = sample(cells[cells>0], 1, replacement = FALSE, prob = NULL)
if(z == cells[1]){
cells[1] = cells[1] - 1
m1[1] = m1[1] + 1
}
if(z == cells[2]){
cells[2] = cells[2] - 1
m1[2] = m1[2] + 1
}
if(z == cells[3]){
cells[3] = cells[3] - 1
m1[3] = m1[3] + 1
}
if(z == cells[4]){
cells[4] = cells[4] - 1
m1[4] = m1[4] + 1
}
}
各セルをランダムに選択するのではなく、セルタイプをランダムに選択するだけなので、これが間違っていることはわかっています。どんな助けでも大歓迎です。