命令
Y
生成一个整数随机矩阵(9行和12列),整数值从1到12.我想知道是否有这个代码的版本生成一个矩阵,其行是整数随机行,值为1到12(没有重复)。我找到了一个"琐碎的"回答这个问题;与
matrix(sample.int(12, 9*12, TRUE), 9, 12)
我获得了这种矩阵,但是这些行都是相同的(这是重复9次的同一行)。
答案 0 :(得分:4)
replicate
函数(重复sample(12)
指定次数的操作)返回一个矩阵,其列主要方向可以翻转到所需的行方向t
:< / p>
t( replicate(9, {sample(12)} ) )
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12]
[1,] 9 11 5 3 4 6 2 8 10 12 7 1
[2,] 4 5 12 6 8 2 9 1 11 10 7 3
[3,] 9 8 10 12 2 6 3 7 4 1 11 5
[4,] 4 9 1 2 6 11 8 5 7 3 12 10
[5,] 1 2 4 5 11 6 3 8 10 9 12 7
[6,] 4 8 10 12 5 9 2 7 11 1 3 6
[7,] 5 7 8 4 1 6 10 11 2 3 12 9
[8,] 2 4 10 1 12 5 7 6 11 3 8 9
[9,] 2 7 9 11 8 1 12 10 6 5 3 4
replicate
函数用于许多模拟代码中。