2013-10-31 27 views
1

我有一個矩陣,該矩陣是非對稱的,正方形(等於尺寸),如下所示:高效重新排序的非對稱的,正方形矩陣

m <- matrix(LETTERS[1:25], ncol=5, dimnames = list(1:5, 1:5)) 
diag(m) <- "-" 
print(m, quote=FALSE) 

    1 2 3 4 5 
1 - F K P U 
2 B - L Q V 
3 C H - R W 
4 D I N - X 
5 E J O T - 

我想指定以不同的順序的行/列如下:

new <- c(1, 5, 3, 2, 4) 

最終不帶引號的輸出應該是這樣的:

1 5 3 2 4 
1 - U K F P 
5 E - O J T 
3 C W - H R 
2 B V L - Q 
4 D X N I - 

我怎樣纔能有效對這樣的矩陣重新排序,這可以推廣到其他類似的非對稱矩陣?

我能想到做到這一點的唯一方法是親自動手,但這很愚蠢,因爲我懷疑可能有辦法輕鬆做到這一點。

回答

4

我想我在這裏錯過了一些東西,但不能只是在索引中引用?

> m[new,new] 
    1 5 3 2 4 
1 "-" "U" "K" "F" "P" 
5 "E" "-" "O" "J" "T" 
3 "C" "W" "-" "H" "R" 
2 "B" "V" "L" "-" "Q" 
4 "D" "X" "N" "I" "-" 
+1

不,你什麼都沒漏,我是。 :-)簡單的解決方案,讓我感覺像一個doof。謝謝。 –