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

阅读 1662 收藏 0 点赞 0 评论 0

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

评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号