如何将向量转换为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
以上是 如何将向量转换为R中的对角矩阵? 的全部内容, 来源链接: utcz.com/z/360673.html