R 生成一个随机数矩阵
我试图制作一个由0、1和5组成的5 x 10矩阵,其中0、1和5的数量相等(或者16、17、17,因为16+17+17=50)。这就是我到目前为止所拥有的,但我一生都不知道如何使0的数量=1的数量=5的数量R 生成一个随机数矩阵,r,matrix,R,Matrix,我试图制作一个由0、1和5组成的5 x 10矩阵,其中0、1和5的数量相等(或者16、17、17,因为16+17+17=50)。这就是我到目前为止所拥有的,但我一生都不知道如何使0的数量=1的数量=5的数量 r <- 10 c <- 5 m0 <- matrix(0, r, c) a <- matrix(0, 1, 16) b <- matrix(1, 1, 17) c <- matrix(5, 1, 17) apply(m0, c(1,2), functi
r <- 10
c <- 5
m0 <- matrix(0, r, c)
a <- matrix(0, 1, 16)
b <- matrix(1, 1, 17)
c <- matrix(5, 1, 17)
apply(m0, c(1,2), function(x) sample(c(a,b,c),1, replace = FALSE))
r如果将sample
函数传递给一个向量,那么它将随机洗牌这些数字。因此,您所需要做的就是将数字洗牌并存储在矩阵中:
set.seed(144)
matrix(sample(rep(c(0, 1, 5), c(16, 17, 17))), 5)
# [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10]
# [1,] 0 1 1 5 0 5 0 5 1 1
# [2,] 5 0 0 1 0 5 5 5 5 1
# [3,] 5 1 1 1 1 1 5 0 0 5
# [4,] 1 0 0 1 0 0 1 1 0 1
# [5,] 0 5 5 0 1 5 5 5 5 0