본문 바로가기
R

[R] 행(row), 열(column) 이름, 순서 변경 및 맞추기

by JKyun 2017. 5. 17.

안녕하세요. 우주신 입니다.


이번 포스팅에서는 행(row), 열(column) 이름, 순서 변경 및 맞추기에 대해 정리해보겠습니다.


행, 열 맞추기는 서로 다른 데이터셋 중 행이나 열 이름이 같은 것을 뽑아낸다고 생각하면 될 것 같습니다.


예를 들어, 서로 겹치는 주식 종목을 선택하거나 제외 시키는 경우 유용하게 사용할 수 있습니다.




1. 행(row), 열(Column) 이름 지정


우선, 설명을 위해 행렬(matrix)을 만들었습니다. (데이터프레임도 같은 원리로 적용됩니다.)


행, 열 이름을 지정하는 방법은 아주 간단합니다.

colnames(), rownames() 함수를 활용하면 되는데, colnames(행렬) = c(' ') 형식으로 입력하면 됩니다.

m1 을 보면 이름이 지정된 것을 확인할 수 있습니다. 

참고로, 행, 열의 개수와 이름의 개수가 다르면 오류가 발생합니다.


같은 방식으로 또 하나의 행렬 m2를 만들었습니다.




2. 행(row), 열(column) 순서 변경


행, 열 순서를 변경하는 방법 중 가장 간단한 방법을 소개하겠습니다.

인덱싱과 c( )를 활용하여 m1의 열을 역순으로 정렬 했습니다.

c( ) 안에 원하는 순서대로 열의 위치를 입력하면 됩니다.




3. 행(row), 열(column) 맞추기


하나의 행렬을 기준으로 행, 열의 이름을 맞출 때는 colnames( )%in%colnames( ) 형식으로 입력하면 됩니다.

예제부터 보면 쉽게 이해가실겁니다.


[문제] m1의 열(column) 이름과  m2의 열(column) 이름이 같은 열(column)만 선택하라.


m1과 m2의 열 이름이 중복되는 C와 D의 위치에 TRUE가 뜬 것을 확인할 수 있습니다.


이를 which( )함수를 활용하여 인덱싱 위치로 변환할 수 있습니다.


그 후, 위 함수를 m1의 인덱싱 안에 넣으면

m2 안에 있는 열 C, D만 선택 된 것을 알 수 있습니다.


서로 겹치는 열을 제외하고 싶을 때는,

'-'를 활용하면 되겠죠? 


행(row)의 경우에도 같은 원리로 적용이 되니 직접 해보시기 바랍니다~





수고하셨습니다~



댓글