如何将向量转换为R中的对角矩阵?
对角矩阵是一种方阵,在从左上到右下的非对角元素处包含零。要将向量转换为R中的对角矩阵,我们可以将diag函数与矩阵函数一起使用,并使用ncol参数,其中我们可以将列数与向量中的值数相等。查看下面给出的示例以了解如何完成。
示例1
以下片段示例列表-
V1<-rpois(5,10) V1
创建以下向量-
[1] 9 8 4 8 9
以下代码段创建了一个示例矩阵-
V1<-rpois(5,10) M1<-matrix(diag(V1),ncol=5) M1
创建以下矩阵-
[,1] [,2] [,3] [,4] [,5] [1,] 9 0 0 0 0 [2,] 0 8 0 0 0 [3,] 0 0 4 0 0 [4,] 0 0 0 8 0 [5,] 0 0 0 0 9
示例2
以下片段示例列表-
V2<-rpois(5,500) V2
创建以下向量-
[1] 500 484 487 515 460
以下代码段创建了一个示例矩阵-
V2<-rpois(5,500) M2<-matrix(diag(V2),ncol=5) M2
创建以下矩阵-
[,1] [,2] [,3] [,4] [,5] [1,] 500 0 0 0 0 [2,] 0 484 0 0 0 [3,] 0 0 487 0 0 [4,] 0 0 0 515 0 [5,] 0 0 0 0 460
示例3
以下片段示例列表-
V3<-sample(1:100,5) V3
创建以下向量-
[1] 19 72 11 95 5
以下代码段创建了一个示例矩阵-
V3<-sample(1:100,5) M3<-matrix(diag(V3),ncol=5) M3
创建以下矩阵-
[,1] [,2] [,3] [,4] [,5] [1,] 19 0 0 0 0 [2,] 0 72 0 0 0 [3,] 0 0 11 0 0 [4,] 0 0 0 95 0 [5,] 0 0 0 0 5
示例4
以下片段示例列表-
V4<-round(rnorm(5),2) V4
创建以下向量-
[1] -0.81 -1.12 -0.98 -1.59 0.58
以下代码段创建了一个示例矩阵-
V4<-round(rnorm(5),2) M4<-matrix(diag(V4),ncol=5) M4
创建以下矩阵-
[,1] [,2] [,3] [,4] [,5] [1,] -0.81 0.00 0.00 0.00 0.00 [2,] 0.00 -1.12 0.00 0.00 0.00 [3,] 0.00 0.00 -0.98 0.00 0.00 [4,] 0.00 0.00 0.00 -1.59 0.00 [5,] 0.00 0.00 0.00 0.00 0.58
例5
以下片段示例列表-
V5<-round(rnorm(5,10,0.5),2) V5
创建以下向量-
[1] 10.43 8.89 9.79 10.50 9.29
以下代码段创建了一个示例矩阵-
V5<-round(rnorm(5,10,0.5),2) M5<-matrix(diag(V5),ncol=5) M5
创建以下矩阵-
[,1] [,2] [,3] [,4] [,5] [1,] 10.43 0.00 0.00 0.0 0.00 [2,] 0.00 8.89 0.00 0.0 0.00 [3,] 0.00 0.00 9.79 0.0 0.00 [4,] 0.00 0.00 0.00 10.5 0.00 [5,] 0.00 0.00 0.00 0.0 9.29