2013-07-09 2 views
0

행렬 A를 가지고 있습니다. 행렬을 기반으로 행렬을 정렬하고 싶기 때문에 어떻게 마지막 열을 표현할 수 있습니까? 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[,ncol(A)] 

당신이 R 브래킷 인덱싱에 익숙하지 않은 경우는,이 ​​코드는 (A의 모든 행을 선택 빈칸) 그리고 R 인덱싱 이후 A의 마지막 열은 (파이썬 같은 언어와 달리) 1에서 시작됩니다. ncol(A)은 A의 열 수를 정수로 반환하므로 이러한 방식으로 원하는 결과를 얻을 수 있습니다.

관련 문제