如何在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

更新于:2021年11月11日

669 次浏览

启动您的职业生涯

通过完成课程获得认证

开始学习
广告