【R语言】三类排序相关函数[sort, order, rank]

    在C语言中,一般需要我们自己去写一个排序算法,比如冒泡或者快排等,但在R语言中已经内置了一些函数,可以帮助我们快速地进行排序和相关操作,下面我们来详细看一下:


  • sort()函数

函数说明:默认对向量进行升序排序,并将排序后的结果返回

data <- c(4, 2, 9, 8)
sort(x = data)

返回结果:

[1] 2 4 8 9

Note:返回值并不会修改原对象的值,如果需要的话,可以修改为:

data <- sort(x = data)

如果想要进行降序排列的话,只需增加一个入口参数即可

data <- c(4, 2, 9, 8)
sort(x = data,decreasing = TRUE)

如果向量中存在缺省值NA,那么可以设置其入口参数na.last = TRUE,否则NA值将不会从参与排序

data <- c(4, 2, 9, 8, NA)
sort(x = data, na.last = TRUE)

返回结果:

[1]  2  4  8  9 NA

  • order()函数

函数说明:指出排序后的向量中各元素在原向量中的索引,默认升序

data <- c(1, 6, 0, 8)
order(data)

返回结果:

[1] 3 1 2 4

函数还有其他的参数:

order(... = data, na.last = TRUE,decreasing = TRUE)

...  表示待排序向量

na.last 表示时候将NA值放在最后面(默认排序忽略NA)

decreasing 表示是否按照降序排序,默认升序。


  • rank()函数

函数说明:指出当前向量中各元素大小的排名,默认升序

data <- c(1, 6, 0, 8)
rank(data)

返回结果:

[1] 2 3 1 4

函数还有其他的参数:

rank(x = data, na.last = TRUE)

x 表示待排序的向量

na.last 表示是否排序时是否将NA放在最后面,默认忽略NA

 

其他说明:上述三种函数,实际中还有其他的入口参数,但由于并不常用,因此并未列出,如果读者需要,可以自行查阅R语言的帮助文档。

你可能感兴趣的:(R语言)