排序函數-R語言系列
R
語言中內置了相關函數,能夠快速的進行排序相關的操作,主要相關函數有rank()
、sort()
和order()
,下面對這些函數分別進行介紹。
rank()
函數
rank()
函數主要返回向量中各個元素的大小排名,默認按照升序方式排列。
例如:
> data <- c(4, -10, 8, 0)
> rank(data)
[1] 3 1 4 2
4在所有元素中,按照由小到大排名第三,因此rank()
函數返回的第一個值是3。
sort()
函數
sort()
函數主要返回向量中各個元素的排序結果,默認按照升序方式。
例如:
> data <- c(4, -10, 8, 0)
> sort(data)
[1] -10 0 4 8
order()
函數
order()
函數主要返回排序後向量中各個元素的索引,默認按照升序方式。
例如:
> data <- c(4, -10, 8, 0)
> order(data)
[1] 2 4 1 3
> data[order(data)]
[1] -10 0 4 8
order()
函數的一個重要應用是能夠對data.frame按照某一列排序,例如:
> my_data <- data.frame(data, y = LETTERS[1:4])
> my_data
data y
1 4 A
2 -10 B
3 8 C
4 0 D
> my_data[order(my_data$data), ]
data y
2 -10 B
4 0 D
1 4 A
3 8 C