首页 文章资讯内容详情

如何将向量转换为R中的对角矩阵?

2026-06-02 1 花语

对角矩阵是一种方阵,在从左上到右下的非对角元素处包含零。要将向量转换为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