【问题标题】:Get the vector of values from different columns of a matrix从矩阵的不同列中获取值的向量
【发布时间】:2013-11-30 22:08:28
【问题描述】:

我有一个 10x4 的矩阵,我有一个包含 10 个元素的向量。每个元素都是应该检索的该矩阵的列索引。示例如下:

> M.mat
            [,1]       [,2]        [,3]        [,4]
 [1,] -0.4236174  0.2228897  0.11676857  0.16906735
 [2,] -0.4860078  0.9862164 -2.04735716 -0.33708521
 [3,] -0.6931023 -0.2255126 -0.58214338 -0.08705187
 [4,]  0.4048169  0.8713917  0.38543781 -1.38207954
 [5,]  2.4005044  1.2483514  0.66759229 -1.33667156
 [6,] -1.2083913  0.2389032  0.29554618 -0.05910570
 [7,]  0.8055317 -0.7978780 -0.31873361  0.57248675
 [8,] -0.1606493  0.4110878  0.90236993 -0.62311446
 [9,]  0.3721249  0.5276403 -0.09323399 -0.41223947
[10,]  2.0704414  0.1747543  0.45456052 -1.09215597

> Idx
 [1] 3 4 1 2 1 3 1 1 2 3

这意味着我想从第 2 行获取第 1 行的第 3 列,第 3 行的第 1 列,...

我尝试创建一个包含两列的 data.frame,一列是 1;10 的 row.indx,另一列是 Idx,但它不起作用。有什么建议可以访问指定的元素吗?

【问题讨论】:

    标签: r matrix identity-column


    【解决方案1】:

    这应该为你做:

    M.mat[cbind(seq_along(Idx),Idx)]
    

    【讨论】:

      猜你喜欢
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2015-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多