嗨,假設我有一個只有 0 和 1 的矩陣,我想找出 1 在每一行中的位置。對于每一行,有多個 1 存在。例如我有
set.seed(444)
m3 <- matrix(round(runif(8*8)), 8,8)
對于第一行,我的第 2、3、8 列是 1,我想要一個代碼可以報告列名或列索引。同時,值得指出的是,每行中1的數量可能不同。
任何人都可以提供一些建議嗎?我非常感激。
uj5u.com熱心網友回復:
我們可以使用whichwith arr.indwhich 將行/列索引作為矩陣回傳
out <- which(m3 ==1, arr.ind = TRUE)
out[,2][order(out[,1])]
[1] 2 3 8 3 5 3 4 8 7 4 6 7 1 3 4 6 1 4 5 6 7 2 4 7 8
要獲取列名,請使用相同的索引(如果矩陣有任何列名 - 這里沒有列名屬性)
colnames(m3)[out[,2][order(out[,1])]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/354139.html
標籤:r
