如何将向量转换为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

回到顶部