将单列矩阵转换为 R 中的对角矩阵。
对角矩阵是一种方阵,在从左上到右下的非对角元素处包含零。
要将单列矩阵转换为 R 中的对角矩阵,我们可以将 diag 函数与矩阵函数一起使用,并使用 ncol 参数,其中我们可以将列数与单列矩阵中的值数相等。
查看下面给出的示例以了解如何完成。
示例 1
以下代码段创建了一个示例矩阵 -
M1<-matrix(rpois(5,2),ncol=1)M1
创建以下矩阵 -
[,1][1,] 2
[2,] 3
[3,] 5
[4,] 1
[5,] 1
要将矩阵 M1 转换为上述创建的矩阵上的对角矩阵,请将以下代码添加到上述代码段中 -
M1<-matrix(rpois(5,2),ncol=1)输出结果M1<-matrix(diag(as.vector(M1)),ncol=5)
M1
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3] [,4] [,5][1,] 2 0 0 0 0
[2,] 0 3 0 0 0
[3,] 0 0 5 0 0
[4,] 0 0 0 1 0
[5,] 0 0 0 0 1
示例 2
以下代码段创建了一个示例矩阵 -
M2<-matrix(rpois(5,500),ncol=1)M2
创建以下矩阵 -
[,1][1,] 505
[2,] 505
[3,] 523
[4,] 545
[5,] 507
要将矩阵 M2 转换为上面创建的矩阵上的对角矩阵,请将以下代码添加到上面的代码段中 -
M2<-matrix(rpois(5,500),ncol=1)输出结果M2<-matrix(diag(as.vector(M2)),ncol=5)
M2
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3] [,4] [,5][1,] 505 0 0 0 0
[2,] 0 505 0 0 0
[3,] 0 0 523 0 0
[4,] 0 0 0 545 0
[5,] 0 0 0 0 507
示例 3
以下代码段创建了一个示例矩阵 -
M3<-matrix(rnorm(5),ncol=1)M3
创建以下矩阵 -
[,1][1,] 0.2614596
[2,] 0.6914427
[3,] -1.8483160
[4,] -1.0057351
[5,] -1.4467553
要将矩阵 M3 转换为上面创建的矩阵上的对角矩阵,请将以下代码添加到上面的代码段中 -
M3<-matrix(rnorm(5),ncol=1)输出结果M3<-matrix(diag(as.vector(M3)),ncol=5)
M3
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3] [,4] [,5][1,] 0.2614596 0.0000000 0.000000 0.000000 0.000000
[2,] 0.0000000 0.6914427 0.000000 0.000000 0.000000
[3,] 0.0000000 0.0000000 -1.848316 0.000000 0.000000
[4,] 0.0000000 0.0000000 0.000000 -1.005735 0.000000
[5,] 0.0000000 0.0000000 0.000000 0.000000 -1.446755
示例 4
以下代码段创建了一个示例矩阵 -
M4<-matrix(round(rnorm(5,25,3.2),1),ncol=1)M4
创建以下矩阵 -
[,1][1,] 26.6
[2,] 26.5
[3,] 22.1
[4,] 24.8
[5,] 19.1
要将矩阵 M4 转换为上面创建的矩阵上的对角矩阵,请将以下代码添加到上面的代码段中 -
M4<-matrix(round(rnorm(5,25,3.2),1),ncol=1)输出结果M4<-matrix(diag(as.vector(M4)),ncol=5)
M4
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3] [,4] [,5][1,] 26.6 0.0 0.0 0.0 0.0
[2,] 0.0 26.5 0.0 0.0 0.0
[3,] 0.0 0.0 22.1 0.0 0.0
[4,] 0.0 0.0 0.0 24.8 0.0
[5,] 0.0 0.0 0.0 0.0 19.1
例 5
以下代码段创建了一个示例矩阵 -
M5<-matrix(round(runif(5,2,10),2),ncol=1)M5
创建以下矩阵 -
[,1][1,] 5.92
[2,] 7.34
[3,] 7.72
[4,] 3.18
[5,] 7.00
要将矩阵 M5 转换为上面创建的矩阵上的对角矩阵,请将以下代码添加到上面的代码片段中 -
M5<-matrix(round(runif(5,2,10),2),ncol=1)输出结果M5<-matrix(diag(as.vector(M5)),ncol=5)
M5
如果您将上述所有给定的片段作为单个程序执行,它会生成以下输出 -
[,1] [,2] [,3] [,4] [,5][1,] 5.92 0.00 0.00 0.00 0
[2,] 0.00 7.34 0.00 0.00 0
[3,] 0.00 0.00 7.72 0.00 0
[4,] 0.00 0.00 0.00 3.18 0
[5,] 0.00 0.00 0.00 0.00 7
以上是 将单列矩阵转换为 R 中的对角矩阵。 的全部内容, 来源链接: utcz.com/z/360898.html