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

时间:2017-06-09 13:04:26

标签: r indexing

我有一个充满整数的矩阵,我需要创建一个索引,对于每个整数,我得到包含它的列数(使用R)。

例如,假设我有这个表:

select s.sid, s.serial#, status, s.username 
from v$session s 
where username = 'user_i_want_to_drop';

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

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

和44位于第1,2和5列(元素[3,1],[2,2]和[1,5]

因此,对于我表中的所有元素,我需要一个像

这样的索引
alter system kill session '<sid>,<serial#>' IMMEDIATE;

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

1 个答案:

答案 0 :(得分: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))