3
我已經提取了一些元素我想看看數組的indeces如下:將哪個(,arr.ind = T)回饋到R中的矩陣的最佳方法?
mat = matrix(0,10,10)
arrInd = which(mat ==0,arr.ind = T)
然後我做這個矩陣的一些更多的操作,並最終與載體或行rowInd
和列向量結束colInd
。我想讓我們把這些數據插入另一個矩陣,比如說mat2。但我似乎無法找到一種方法來做到這一點,而無需循環或自己進行模塊化算術計算。我意識到我可以採取類似
mat2[rowInd*(colInd-1)+rowInd]
爲了轉換回一維索引。但是由於R通常建立了執行這種事情的函數,我想知道是否有更簡潔的方法來做到這一點?這似乎很自然,像which(,arr.ind=T)
這樣的方便的數據處理函數會有一個方便的逆。
編輯:我試過使用mat2[rowInd,colInd]
,但這沒有奏效。
最佳,
保羅
我猜測矩陣的內存表示不是2維的?行和列只是矩陣的屬性? –
@zheyuan李:謝謝你的迴應。我應該注意到,在操作之後,我的行indeces和列indeces被存儲爲單獨的向量。但是,由於你的repsonse,現在看來很明顯,我需要的是'mat2 [cbind(rowInd,colInd)]''。謝謝! – Paul