【问题标题】:Convert column vector to the diagonal of a matrix in R?将列向量转换为R中矩阵的对角线?
【发布时间】:2019-09-17 14:02:46
【问题描述】:

我在 R 中有一个具有以下格式的列向量:num [1:2464, 1]。

我想对向量做对角线,所以每个元素都在矩阵的对角线上。我试过以下代码:

diagvector <- diag(myvector)

但它只显示第一个数字。如果我的向量具有以下形式,我想我只能使用该代码:num [1:2464]。

那么我该如何 a) 将我的向量的格式从 num [1:2464, 1] 更改为 num [1:2464],或者 b) 使用格式 num [1:2464, 1]?

【问题讨论】:

    标签: matrix vector diagonal


    【解决方案1】:

    您的“列向量”实际上是一个矩阵,因为它有两个维度,但 it can be formed into a vector

    myvector <- matrix(1:2464, 1)
    diagvector <- diag(c(myvector))
    diagvector
    
            [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13]    ...
       [1,]    1    0    0    0    0    0    0    0    0     0     0     0     0
       [2,]    0    2    0    0    0    0    0    0    0     0     0     0     0
       [3,]    0    0    3    0    0    0    0    0    0     0     0     0     0
       [4,]    0    0    0    4    0    0    0    0    0     0     0     0     0
       [5,]    0    0    0    0    5    0    0    0    0     0     0     0     0
       [6,]    0    0    0    0    0    6    0    0    0     0     0     0     0
       [7,]    0    0    0    0    0    0    7    0    0     0     0     0     0
       [8,]    0    0    0    0    0    0    0    8    0     0     0     0     0
       [9,]    0    0    0    0    0    0    0    0    9     0     0     0     0
      [10,]    0    0    0    0    0    0    0    0    0    10     0     0     0
      [11,]    0    0    0    0    0    0    0    0    0     0    11     0     0
      [12,]    0    0    0    0    0    0    0    0    0     0     0    12     0
      [13,]    0    0    0    0    0    0    0    0    0     0     0     0    13
        ...
    

    或者:

    myvector <- matrix(1:2464, 1)
    diagvector <- diag(length(myvector)) * c(myvector)
    diagvector
    

    【讨论】:

      猜你喜欢
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-01-30
      • 2018-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多