Vector내에서 정렬하는 방법에 대해 다루어 보도록 하겠습니다
1. Sort함수
a에 랜덤한 숫자 벡터를 선언하고
sort함수를 이용해 아래와 같이 정렬할 수 있습니다.
내림차순을 하기 위해서는 decreasing = T 옵션을 넣어주어야 하고
오름차순을 위해서는 옵션없이 사용하시면 됩니다.
기본 옵션이 오름차순이기 때문입니다.
a<-c(3,5,6,1,8,9,11,13)
sort(a,decreasing = T)
sort(a)
sort(a,decreasing = F)
2. order함수
sort외에 정렬할 수 있는 order함수가 있는데, 처음접하면 조금 어렵게 느껴질 수 있습니다.
order함수는 vector값들의 순서 index를 반환합니다.
아래 예시를 보면
order(a)값이
4, 1, 2, ... 이렇게 나오는데
a의 네번째 값이 첫번째, a의 첫번째 값이 두번째, a의 두번째 값이 세번째 order라는 뜻입니다.
정렬하기 위해선 이 값들을 a에 넣어서 반환시켜야합니다.
a[order(a)] # 는 오름차순이고
a[order(-a)] # 는 내림차순을 의미합니다.
조금 어려울수 있지만, sort보다는 order함수에 익숙해지는 게 좋습니다.
a
order(a)
## 4 a의 네번째 값이 첫번째로
## 1 a의 첫번째 값이 두번째로
## 2 a의 두번째 값이 세번째로...
order(-a)
a[order(a)] ## 오름차순
a[order(-a)] ## 내림차순
인프런에서 R강의/딥러닝 강의를 업로드 하고 있습니다.
https://www.inflearn.com/roadmaps/225
반응형
'R프로그래밍' 카테고리의 다른 글
R프로그래밍 - matrix선언 / matrix요소 접근법 (0) | 2020.06.22 |
---|---|
R프로그래밍 - Seq / Rep함수 (0) | 2020.06.22 |
R프로그래밍 - Vector index 다루는 법 (0) | 2020.06.22 |
R프로그래밍 - Vector 선언 (숫자형/문자형) (0) | 2020.06.19 |
R프로그래밍 - 숫자형 문자형 변환 as.character/as.numeric (0) | 2020.06.19 |
댓글