首页 文章

矩阵中的索引元素和相应的列号

提问于
浏览
3

我有一个充满整数的矩阵,我需要创建一个索引,对于每个整数,我得到包含它的列数(使用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]

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

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

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

等等

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

1 回答

  • 3

    我们可以做的

    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))
    

相关问题