使用sort()与order()函数可以对数据进行排序,sort()函数直接对给定数据进行排序,order()函数返回排序后数据的原始位置
一、sort()函数
例如:
R
> x<-c(20,11,33,50,47)
> sort(x)
[1] 11 20 33 47 50
> sort(x,decreasing = TRUE)
[1] 50 47 33 20 11
二、order()函数
Order()函数返回排序以后的各元素数据在原始数据组中的位置索引
例如
R
> x<-c(20,11,33,50,47)
> order(x)
[1] 2 1 3 5 4
若想实现降序,则依然采用decreasing参数进行
R
> x<-c(20,11,33,50,47)
> order(x,decreasing = TRUE)
[1] 4 5 3 1 2
我们利用order()函数返回元素位置这一特点,可以使用其对数据框进行排序,以鸢尾花数据集为例子
R
> 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
同时,order也支持双参数排序
例如
R
> iris[order(iris$Sepal.Length,iris$Petal.Length),]
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
14 4.3 3.0 1.1 0.1 setosa
39 4.4 3.0 1.3 0.2 setosa
43 4.4 3.2 1.3 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
42 4.5 2.3 1.3 0.3 setosa
23 4.6 3.6 1.0 0.2 setosa
先根据Sepal.Length排序,再根据Petal.Length排序