R语言 排序 次条件

Python013

R语言 排序 次条件,第1张

使用R包dplyr的函数arrange更简单,更简洁:

#多条件排序:使用dplyr::arrange

library(dplyr)

data("iris")

head(iris)

#第一列升序,然后是第三列升序

arrange(iris,iris[,1],iris[,3])

#第一列升序,然后是第三列降序

arrange(iris,iris[,1],-iris[,3])

扩展资料

R语言排序函数sort(),rank(),order()

>x<-c(97,93,85,74,32,100,99,67)

>sort(x)

[1]32677485939799100

>order(x)

[1]58432176

>rank(x)

[1]65431872

用order函数

数字从大到小,所以是倒序列,开启order中的倒序模式会导致所有关联的sort都是倒序,我们得用一个小技巧:负号。(order的作用是帮你拿到行的index,如此所有排序都是关联的。)

假如你数据叫data

data <- data[order(-data[[2]], data[[1]]), ]data

如此你的第二列数字会是取了相反数再sort,所以是倒序,而第一列是正排序,按照字母表顺序。

放在第一个位置的data[[2]]就是主条件,在后面的是次条件,次次条件。。。