我有一个充满整数的矩阵,我需要创建一个索引,对于每个整数,我得到包含它的列数(使用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;
等
编辑:我纠正了我在下面的评论中指出的错误。
答案 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))