2013-07-09 66 views
0

我有矩陣A,我怎麼能表示最後一列,因爲我想根據這個矩陣對矩陣進行排序。如何指定矩陣的最後一列

+4

'A [,NcoI位(A)]'或'A [,NcoI位(A),降= FALSE]'保持到矩陣結構 – dickoa

+2

爲什麼不來命名列?使用名稱更好/更安全。 – agstudy

回答

8
> A <- matrix(rnorm(16), 4, 4) 
> ncol(A) 
[1] 4 
> # Get the last column 
> A[,ncol(A)] 
[1] 0.7593943 0.0726012 2.2784912 -0.2571095 
> # If you want to sort based on the last column... 
> A[order(A[,ncol(A)]),] 
      [,1]  [,2]  [,3]  [,4] 
[1,] -0.9013910 -0.06612518 -1.51267548 -0.2571095 
[2,] 0.3851738 -0.81303780 0.01062751 0.0726012 
[3,] -1.6940473 -1.15323294 -1.50261705 0.7593943 
[4,] 0.3120409 -0.30047966 0.59672449 2.2784912 
4

如果A是你的矩陣則A的最後一列是:

A[,ncol(A)] 

如果你不熟悉R中支架的索引,這個代碼選擇A的所有行(由於逗號之前的空間空白),然後是R索引從1開始的A的最後一列(不像Python等語言)。 ncol(A)以整數形式返回A中的列數,以這種方式編制索引以獲得所需的結果。