次のコードで作成されたマトリックスに似たものからサンプリングしようとしています:
set.seed(17)
x = sample(0:1, 100, replace=T)
x = matrix(x, 20)
xrowsum = apply(x, 1, sum)
x = x[xrowsum > 2, ]
x
# [,1] [,2] [,3] [,4] [,5]
# [1,] 0 1 1 0 1
# [2,] 1 1 1 1 0
# [3,] 1 1 1 0 1
# [4,] 0 1 1 0 1
# [5,] 0 1 1 0 1
# [6,] 1 1 0 0 1
# [7,] 1 1 1 0 1
# [8,] 1 1 1 0 0
# [9,] 1 0 1 1 1
#[10,] 1 1 1 1 1
#[11,] 1 1 0 1 1
目標は、各行から 2 つの項目をサンプリングすることですが、それらのエントリのみが 1 に等しくなり、残りの行には 0 を割り当てます。期待される結果の 1 つとして、次のようなものがあります。
# [,1] [,2] [,3] [,4] [,5]
# [1,] 0 1 1 0 0
# [2,] 1 0 0 1 0
# [3,] 1 0 0 0 1
# [4,] 0 1 0 0 1
# [5,] 0 1 0 0 1
# [6,] 0 1 0 0 1
# [7,] 0 1 1 0 0
# [8,] 1 0 1 0 0
# [9,] 1 0 0 1 0
#[10,] 0 0 1 1 0
#[11,] 0 1 0 0 1