【问题标题】:Indexing elements in matrix and corresponding column numbers矩阵中的索引元素和相应的列号
【发布时间】:2017-06-09 13:04:25
【问题描述】:

我有一个充满整数的矩阵,我需要创建一个索引,在其中为每个整数获取包含它的列数(使用 R)。

例如,假设我有这张桌子:

              [,1]       [,2]       [,3]       [,4]       [,5]       [,6]       
   [1,] 31738      3136023010  777150982 2318301701         44 3707934113 
   [2,] 1687741813         44  31738     1284682632  462137835  445275140  
   [3,]         44        123        123 31738      1215490197       123 

在我的情况下,列中有 31738: 1,2 和 4

元素:[1,1]、[2,3] 和 [3,4]

和 44 出现在第 1,2 和 5 列中(元素 [3,1]、[2,2] 和 [1,5]

所以对于我表中的所有元素,我需要有一个类似的索引

31738      = 1 3 4
3136023010 = 2
777150982  = 3
44         = 1 2 3
....
123        = 2 3 6

编辑:我纠正了我在下面的评论中指出的错误。

【问题讨论】:

    标签: r indexing


    【解决方案1】:

    我们可以的

    setNames(lapply(unique(m1), function(i) 
         as.vector(which(m1==i, arr.ind = TRUE)[,2])), unique(m1)) 
    

    或者另一种选择是

    split(col(m1), m1)
    

    数据

    m1 <- structure(c(31738, 1687741813, 44, 3136023010, 44, 123, 777150982, 
    31738, 123, 2318301701, 1284682632, 31738, 44, 462137835, 1215490197, 
    3707934113, 445275140, 123), .Dim = c(3L, 6L))
    

    【讨论】:

      猜你喜欢
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 2021-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多