[英]Indexing elements in matrix and corresponding column numbers
我有一個充滿整數的矩陣,我需要創建一個索引,對於每個整數,我得到包含它的列數(使用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
等等
編輯:我糾正了我在下面的評論中指出的錯誤。
我們可以做的
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.