R命令
matrix(sample(1:9), nrow = 3, ncol = 3)
产生
[,1] [,2] [,3]
[1,] 4 6 2
[2,] 9 1 8
[3,] 5 3 7
值随机放置在矩阵位置内。
如何轻松生成以下矩阵(这是上述的简单重新排列)?
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
也就是说,通常,产生一个矩阵,其中小值往往接近其他小值,而大值往往接近其他大值。
换句话说,我想说明矩阵中值之间的空间自相关。也许通过指定相关系数来指示关系的整体强度。
答案 0 :(得分:2)
我们可以执行sort
然后构建matrix
matrix(sort(m1), 3, 3, byrow = TRUE)
或者我们可以做到
m1[] <- sort(m1)
t(m1)
答案 1 :(得分:1)
如果你需要的是在这个矩阵中“传播”一个数字向量(或其他),你可以这样做:
> matrix((1:9), nrow = 3, ncol = 3)
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9
> matrix((1:9), nrow = 3, ncol = 3,byrow = T)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
[3,] 7 8 9
或任意数字:
> vec <- c(12,17,-6,0.4,1,1,1,5,0)
> matrix(vec, nrow = 3, ncol = 3,byrow = T)
[,1] [,2] [,3]
[1,] 12.0 17 -6
[2,] 0.4 1 1
[3,] 1.0 5 0