반응형
벡터의 정렬
정보를 한눈에 보기 위해서는 종종 벡터를 정렬해야 합니다. 오름차순과 내림차순을 옵션으로 정렬할 수 있습니다.
v1 <- c(1,7,6,8,4,2,3)
order(v1)
# [1] 1 6 7 5 3 2 4
v1 <- sort(v1) # 오름차순
v1
# [1] 1 2 3 4 6 7 8
v2 <- sort(v1, decreasing=T) # 내림차순
v2
# [1] 8 7 6 4 3 2 1
기준 변수(컬럼)값에 의한 2차원 배열의 정렬을 할 수 있습니다. 하나의 열을 정해서 정렬을 한 예제입니다.
head(iris)
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 1 5.1 3.5 1.4 0.2 setosa
# 2 4.9 3.0 1.4 0.2 setosa
# 3 4.7 3.2 1.3 0.2 setosa
# 4 4.6 3.1 1.5 0.2 setosa
# 5 5.0 3.6 1.4 0.2 setosa
# 6 5.4 3.9 1.7 0.4 setosa
order(iris$Sepal.Length)
# [1] 14 9 39 43 42 4 7 23 48 3 30 12 13 25 31 46 2 10
# [19] 35 38 58 107 5 8 26 27 36 41 44 50 61 94 1 18 20 22
# [37] 24 40 45 47 99 28 29 33 60 49 6 11 17 21 32 85 34 37
# [55] 54 81 82 90 91 65 67 70 89 95 122 16 19 56 80 96 97 100
# [73] 114 15 68 83 93 102 115 143 62 71 150 63 79 84 86 120 139 64
# [91] 72 74 92 128 135 69 98 127 149 57 73 88 101 104 124 134 137 147
# [109] 52 75 112 116 129 133 138 55 105 111 117 148 59 76 66 78 87 109
# [127] 125 141 145 146 77 113 144 53 121 140 142 51 103 110 126 130 108 131
# [145] 106 118 119 123 136 132
iris[order(iris$Sepal.Length),]
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 14 4.3 3.0 1.1 0.1 setosa
# 9 4.4 2.9 1.4 0.2 setosa
# 39 4.4 3.0 1.3 0.2 setosa
# 43 4.4 3.2 1.3 0.2 setosa
# 42 4.5 2.3 1.3 0.3 setosa
2차원 배열을 정렬할 때 오름차순, 내림차순으로 정렬합니다. 옵션으로 조정할 수 있습니다. 아래 예제를 참고하세요.
iris[order(iris$Sepal.Length),]
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 14 4.3 3.0 1.1 0.1 setosa
# 9 4.4 2.9 1.4 0.2 setosa
# 39 4.4 3.0 1.3 0.2 setosa
# 43 4.4 3.2 1.3 0.2 setosa
# 42 4.5 2.3 1.3 0.3 setosa
iris[order(iris$Sepal.Length, decreasing=T),]
# Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# 132 7.9 3.8 6.4 2.0 virginica
# 118 7.7 3.8 6.7 2.2 virginica
# 119 7.7 2.6 6.9 2.3 virginica
# 123 7.7 2.8 6.7 2.0 virginica
# 136 7.7 3.0 6.1 2.3 virginica
# 106 7.6 3.0 6.6 2.1 virginica
# 131 7.4 2.8 6.1 1.9 virginica
order()와 rank()
v3 <- c(1,7,2,5)
order(v3)
# [1] 1 3 4 2
rank(v3)
# [1] 1 4 2 3
order는 정렬할 시 현재 v3를 어떤 순서로 뽑아야 하는 지에 대한 함수입니다. rank는 다르게, 현재 v3에서 현재의 값의 순위를 나타냅니다.
반응형
'SW > R' 카테고리의 다른 글
R : 데이터 전처리, 결측값-missing value ( 개념 및 예제 ) (0) | 2019.03.04 |
---|---|
R : 구글 트렌드 ( 개념 및 사용법 ) (0) | 2019.03.03 |
R : aggregate, attach, detach-데이터 요약 (개념 및 예제) (0) | 2019.03.01 |
R : 샘플링(sampling), 조합(combination) (개념 및 예제) (1) | 2019.02.28 |
R : 분리(split), 선택(subset)-전처리 (개념 및 예제) (0) | 2019.02.27 |