본문 바로가기
R 주제/R 기초 및 통계 강의

[R강의] 115. 데이터프레임에서 한 열을 기준으로 나머지열도 정렬하는법

by 만다린망고 2021. 6. 11.
반응형

 

 

아래와 같은 데이터프레임이 있습니다. 내장데이터인 CO2 데이터입니다.

 

> head(CO2,10)
   Plant   Type  Treatment conc uptake
1    Qn1 Quebec nonchilled   95   16.0
2    Qn1 Quebec nonchilled  175   30.4
3    Qn1 Quebec nonchilled  250   34.8
4    Qn1 Quebec nonchilled  350   37.2
5    Qn1 Quebec nonchilled  500   35.3
6    Qn1 Quebec nonchilled  675   39.2
7    Qn1 Quebec nonchilled 1000   39.7
8    Qn2 Quebec nonchilled   95   13.6
9    Qn2 Quebec nonchilled  175   27.3
10   Qn2 Quebec nonchilled  250   37.1

 

conc 기준으로 다시 나열해보겠습니다. 

 

mydata=CO2
mydata2=mydata[order(mydata[,4]),]

 

결과를 먼저 보여드리고 설명드리겠습니다.

 

> head(mydata2,10)
   Plant        Type  Treatment conc uptake
1    Qn1      Quebec nonchilled   95   16.0
8    Qn2      Quebec nonchilled   95   13.6
15   Qn3      Quebec nonchilled   95   16.2
22   Qc1      Quebec    chilled   95   14.2
29   Qc2      Quebec    chilled   95    9.3
36   Qc3      Quebec    chilled   95   15.1
43   Mn1 Mississippi nonchilled   95   10.6
50   Mn2 Mississippi nonchilled   95   12.0
57   Mn3 Mississippi nonchilled   95   11.3
64   Mc1 Mississippi    chilled   95   10.5

 

conc가 숫자 오름차순으로 정렬되었고, 나머지도 이와 함께 정렬되었습니다. 

 

아래 코드를 뜯어봅시다. 먼저 빨간부분을 보면, conc 열에 해당됩니다. 

 

mydata2=mydata[order(mydata[,4]), ]

 

conc열에 ordrer 함수를 적용하면 conc의 각 값에 대한 순위를 반환해줍니다. 이 순위를 index로 사용하면 순서대로 오름차순으로 정렬이 됩니다. 

반응형

댓글