R中排序函数总结:sort,order,rank,arrange,reorder

 

简单的实验数据:

m数值型向量1,4,7,2,n字符型向量a,c,d,b;

总结:

1、可以看出sort是直接对向量排序,返回原数值

2、order先对数值排序,然后返回排序后各数值的索引

3、rank返回原数据各项排名

4、arrange是plyr包中的,可对数据框按不同的列排序;

5、reorder用在绘图中,比如ggplot中绘条形图,可使x轴按y轴数值大小排序;比如横轴为age,纵轴为money,可写为:aes(x=reorder(age,money),y=money)

简单的代码:

m<-c(1,4,7,2)
m
## [1] 1 4 7 2
n<-c('a','c','d','b')
n
## [1] "a" "c" "d" "b"

Sort的用法

sort(m)
## [1] 1 2 4 7
sort(n)
## [1] "a" "b" "c" "d"

Rank的用法

rank(m)

## [1] 1 3 4 2

order的用法

order(m)
## [1] 1 4 2 3
order(n)
## [1] 1 4 2 3

arrange的用法

mn<-as.data.frame(cbind(m,n))

library(plyr)
arrange(mn,m)
##   m n
## 1 1 a
## 2 2 b
## 3 4 c
## 4 7 d
arrange(mn,n)
##   m n
## 1 1 a
## 2 2 b
## 3 4 c
## 4 7 d

Reorder的用法

mn$n<-factor(mn$n)
library(ggplot2)
ggplot(mn,aes(x=reorder(n,m),y=m))+
  geom_bar(stat = "identity",width = 0.8)

现在考完R语言了,总结一下!

好巧,考试的时候遇到了这几个排序的区别,还好当时准备写这篇blog(虽然不完整)哈哈哈!!幸运!!不过,如果我之前总结完,考试的时候就不用犹豫那么久了,,还是有点后悔的!这件事告诉我,,老师真的啥都可能考,,不管多细!!

猜你喜欢

转载自blog.csdn.net/kelanj/article/details/80945540
今日推荐