如何在R中创建行数相等的矩阵?
如果我们只有一个矩阵行,那么利用`rep`函数可以很容易地创建一个行数相等的矩阵。如果没有已知行,则需要将行值传递到`rep`函数中。
查看下面的例子,了解如何在已知一行的情况下创建行数相等的矩阵。
示例1
考虑以下向量:
Row_1<-rpois(5,5)
使用Row_1创建矩阵M1,使用如下代码:
Row_1<-rpois(5,5) M1<-matrix(rep(Row_1,20),ncol=5,byrow=TRUE) M1
输出
如果您将以上所有代码片段作为单个程序执行,则会生成以下输出:
[,1][,2][,3][,4][,5] [1,] 3 7 4 7 4 [2,] 3 7 4 7 4 [3,] 3 7 4 7 4 [4,] 3 7 4 7 4 [5,] 3 7 4 7 4 [6,] 3 7 4 7 4 [7,] 3 7 4 7 4 [8,] 3 7 4 7 4 [9,] 3 7 4 7 4 [10,] 3 7 4 7 4 [11,] 3 7 4 7 4 [12,] 3 7 4 7 4 [13,] 3 7 4 7 4 [14,] 3 7 4 7 4 [15,] 3 7 4 7 4 [16,] 3 7 4 7 4 [17,] 3 7 4 7 4 [18,] 3 7 4 7 4 [19,] 3 7 4 7 4 [20,] 3 7 4 7 4
示例2
考虑以下向量:
Row_2<-rpois(5,1)
使用Row_2创建矩阵M2,使用如下代码:
Row_2<-rpois(5,1) M2<-matrix(rep(Row_2,20),ncol=5,byrow=TRUE) M2
输出
如果您将以上所有代码片段作为单个程序执行,则会生成以下输出:
[,1][,2][,3][,4][,5] [1,] 1 1 1 0 1 [2,] 1 1 1 0 1 [3,] 1 1 1 0 1 [4,] 1 1 1 0 1 [5,] 1 1 1 0 1 [6,] 1 1 1 0 1 [7,] 1 1 1 0 1 [8,] 1 1 1 0 1 [9,] 1 1 1 0 1 [10,] 1 1 1 0 1 [11,] 1 1 1 0 1 [12,] 1 1 1 0 1 [13,] 1 1 1 0 1 [14,] 1 1 1 0 1 [15,] 1 1 1 0 1 [16,] 1 1 1 0 1 [17,] 1 1 1 0 1 [18,] 1 1 1 0 1 [19,] 1 1 1 0 1 [20,] 1 1 1 0 1
示例3
考虑以下向量:
Row_3<-rnorm(3)
使用Row_3创建矩阵M3,使用如下代码:
Row_3<-rnorm(3) M3<-matrix(rep(Row_3,20),ncol=3,byrow=TRUE) M3
输出
如果您将以上所有代码片段作为单个程序执行,则会生成以下输出:
[,1] [,2] [,3] [1,] -1.028721 0.3256529 0.721578 [2,] -1.028721 0.3256529 0.721578 [3,] -1.028721 0.3256529 0.721578 [4,] -1.028721 0.3256529 0.721578 [5,] -1.028721 0.3256529 0.721578 [6,] -1.028721 0.3256529 0.721578 [7,] -1.028721 0.3256529 0.721578 [8,] -1.028721 0.3256529 0.721578 [9,] -1.028721 0.3256529 0.721578 [10,] -1.028721 0.3256529 0.721578 [11,] -1.028721 0.3256529 0.721578 [12,] -1.028721 0.3256529 0.721578 [13,] -1.028721 0.3256529 0.721578 [14,] -1.028721 0.3256529 0.721578 [15,] -1.028721 0.3256529 0.721578 [16,] -1.028721 0.3256529 0.721578 [17,] -1.028721 0.3256529 0.721578 [18,] -1.028721 0.3256529 0.721578 [19,] -1.028721 0.3256529 0.721578 [20,] -1.028721 0.3256529 0.721578
广告