티스토리 뷰

Cloud&BigData/R

R 데이터셋 정렬하기~

미니~ 2015. 8. 27. 08:18
반응형

지난번 글에서 R 데이터셋의 명령어들.. head, str, summary, stem, fivenum, hist, boxplot 을 살펴봤다. 

이번에는 데이터셋을 정렬하는 명령어를 알아본다. 


실전에서도 데이터셋 정렬은 많이 사용하기 때문에 잘 알아두면 많은 도움이 될 것이다. 

샘플 데이터 셋은 역시 R에 내장되어 있는 mtcars (1974년 Motor Trend US Magazine에서 추출한 73, 74년식 자동차 32개 데이터)이다. 


R 데이터 정렬

R에서 데이터 정렬하는 명령어는 order이다. 

먼저 mtcars를 읽어온 후, 

> dtat(mtcars)


mtcars 데이터의 mpg(mile per gallon)을 기준으로 order를 실행해 보자. 


order의 결과값을 실제 mtcars$mpg의 값과 비교해 보면 그 의미를 명확하게 알 수 있다. 


order 함수는 말 그대로 해당 열의 순서, 즉 인덱스만을 제공하는 명령어이다. 

그래서 order의 결과값은 각 열의 데이터의 순서를 나타낸다. 

즉, 첫번째 값인 21.0이 mpg 전체서 15번째이고, 두번째 값인 21.0이 그 다음인 16번째 라는 것을 나타낸다. 


그럼. 순서를 나타내는 order를 가지고 어떻게 데이터를 정렬할 수 있을까? 

order를 필터로 mtcars를 재정렬해서 다음과 같이 저장하면 된다. 


head 함수로 결과를 살펴보면 mpg를 기반으로 오름차순으로 잘 정리된 것을 확인할 수 있다. 

mtcars[order(mtcars$mpg,] 형태를 잘 기억해 두기 바란다. 


이제 원하는 다른 열의 데이터를 가지고 정렬하는데 어려움이 없을 것이다. 

만약 마력(hp)를 기준으로 정렬한다면 다음과 같이 처리한다. 


그렇다면 오름차순이 아닌 내림차순으로 정렬하는 것은 어떻게 할까? 

order 함수 내에 -를 붙이면 해결된다. 


마지막으로 두개의 열을 기준으로 mpg는 오름차순, hp는 내림차순으로 하려면 다음과 같이 한다. 


마지막으로 각 행의 이름, 여기에서는 자동차 모델명으로 정렬하는 것을 알아보자. 

행의 이름을 가져오는 함수는 rownames()이며, 이걸 기준으로 order 함수를 적용하면 된다. 


미니의 R 주요 강좌...

데이터 통계 분석을 위한 R 설치와 활용

R 실행을 위한 기본적인 내용들~

R 데이터 구조에 대한 정리

R 패키지 설치하기

R 데이터셋 처리 함수들에 대한 간단한 정리~

R 데이터셋 정렬하기~

R 데이터셋의 일부 데이터 가져오기

R의 lapply, sapply, vapply를 이해하자~

R의 apply, tapply의 활용법을 알아보자~

R의 split 활용

R의 함수 작성 및 활용~

R 시뮬레이션 - 랜덤 변수 샘플링

R 함수에서 캐시 활용하기~

R 디버깅 툴 활용하기~


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함