Это должно дать то, что вы хотите:
v <- rep(c(0, 1, 2), round(10 * 10 * c(0.05, 0.9, 0.05)))
matrix(sample(v), nrow = 10, ncol = 10)
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,] 1 1 1 1 1 1 1 1 1 1
# [2,] 1 1 2 1 1 1 1 1 1 1
# [3,] 2 1 1 0 1 1 1 1 2 1
# [4,] 1 1 1 1 1 1 1 1 1 1
# [5,] 1 0 1 1 1 2 1 1 1 1
# [6,] 1 1 1 1 1 1 1 1 1 1
# [7,] 1 1 1 0 1 1 1 1 1 1
# [8,] 1 1 1 1 1 1 1 0 1 1
# [9,] 1 1 0 1 1 1 1 1 1 2
# [10,] 1 1 1 1 1 1 1 1 1 1