如何将矩阵转换为R中的单列矩阵?
如果我们有一个矩阵,则出于某些分析目的,可能希望将其转换为单列矩阵,例如与矩阵中长度等于元素总数的向量相乘。因此,可以通过使用矩阵函数本身将矩阵转换为单列矩阵,但是为此,我们需要使列名和行名无效。
例1
> M1<-matrix(rnorm(20),nrow=5) > M1
输出结果
[,1] [,2] [,3] [,4] [1,] -0.8067677 1.9855697 -2.5012312 1.01283626 [2,] -0.5107091 0.4632027 -1.3966282 0.02534344 [3,] -0.5564871 0.2924344 -0.8991352 -0.50715002 [4,] 0.2411252 -0.5139827 -1.3272964 -0.50694324 [5,] -0.5753370 -1.2357388 0.2028664 0.26498877
示例
> matrix(M1,dimnames=list(t(outer(colnames(M1),rownames(M1),FUN=paste)),NULL))
输出结果
[,1] [1,] -0.80676768 [2,] -0.51070906 [3,] -0.55648712 [4,] 0.24112516 [5,] -0.57533702 [6,] 1.98556973 [7,] 0.46320275 [8,] 0.29243441 [9,] -0.51398265 [10,] -1.23573882 [11,] -2.50123125 [12,] -1.39662824 [13,] -0.89913524 [14,] -1.32729635 [15,] 0.20286643 [16,] 1.01283626 [17,] 0.02534344 [18,] -0.50715002 [19,] -0.50694324 [20,] 0.26498877
例2
> M2<-matrix(rpois(20,5),ncol=2) > M2
输出结果
[,1] [,2] [1,] 6 1 [2,] 6 7 [3,] 4 5 [4,] 6 5 [5,] 4 5 [6,] 5 4 [7,] 4 9 [8,] 4 6 [9,] 3 6 [10,] 8 10
示例
> matrix(M2,dimnames=list(t(outer(colnames(M2),rownames(M2),FUN=paste)),NULL))
输出结果
[,1] [1,] 6 [2,] 6 [3,] 4 [4,] 6 [5,] 4 [6,] 5 [7,] 4 [8,] 4 [9,] 3 [10,] 8 [11,] 1 [12,] 7 [13,] 5 [14,] 5 [15,] 5 [16,] 4 [17,] 9 [18,] 6 [19,] 6 [20,] 10
例子3
> M3<-matrix(sample(0:9,20,replace=TRUE),ncol=10) > M3
输出结果
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [1,] 2 2 6 1 7 3 8 6 1 2 [2,] 8 0 4 7 8 8 8 2 1 3
示例
> matrix(M3,dimnames=list(t(outer(colnames(M3),rownames(M3),FUN=paste)),NULL))
输出结果
[,1] [1,] 2 [2,] 8 [3,] 2 [4,] 0 [5,] 6 [6,] 4 [7,] 1 [8,] 7 [9,] 7 [10,] 8 [11,] 3 [12,] 8 [13,] 8 [14,] 8 [15,] 6 [16,] 2 [17,] 1 [18,] 1 [19,] 2 [20,] 3