R, data sorting하기 order()

R 2018. 5. 21. 22:50

kor_pop.csv
다운로드

R에서 데이터를 특정 변수를 기준으로 정렬(sorting)할 때는 order() 함수를 쓴다.

> pop<-read.csv("kor_pop.csv")
> names(pop)<-c("area","population")
> pop
             area population
1      서울특별시    9805506
2      부산광역시    3440484
3      대구광역시    2461002
4      인천광역시    2913024
5      광주광역시    1501557
6      대전광역시    1535445
7      울산광역시    1166033
8  세종특별자치시     242507
9          경기도   12671956
10         강원도    1521751
11       충청북도    1603404
12       충청남도    2132566
13       전라북도    1833168
14       전라남도    1796017
15       경상북도    2682169
16       경상남도    3339633
17 제주특별자치도     623332
> pop1<-pop[order(pop$area),]
> pop1
             area population
10         강원도    1521751
9          경기도   12671956
16       경상남도    3339633
15       경상북도    2682169
5      광주광역시    1501557
3      대구광역시    2461002
6      대전광역시    1535445
2      부산광역시    3440484
1      서울특별시    9805506
8  세종특별자치시     242507
7      울산광역시    1166033
4      인천광역시    2913024
14       전라남도    1796017
13       전라북도    1833168
17 제주특별자치도     623332
12       충청남도    2132566
11       충청북도    1603404
> 

주의할 것: 1) area가 아니라 pop$area로 써야 한다. 2) order() 함수 다음에 반드시 쉼표(,)를 써 주어야 한다.
R에 sort()라는 함수도 있으며, 이 함수 또한 정렬 기능을 제공하는데 쓰임새는 order()와는 다르다. 백문이 불여일견

 

> fruit<-c("pineapple","orange","apple","banana")
> fruit
[1] "pineapple" "orange"    "apple"     "banana"   
> fruit1<-sort(fruit)
> fruit1
[1] "apple"     "banana"    "orange"    "pineapple"

 

보다시피, order() 함수가 여러 개의 변수로 구성된 data frame의 경우 어느 한 변수를 정하여 이를 기준으로 정렬하는 용도라면 sort() 함수는 그냥 문자열을 정렬할 때 쓴다.

Posted by jujaeuk
,