轉:https://blog.csdn.net/kelanj/article/details/80945540
總結(區別):
1、sort是直接對向量排序,返回原數值;
2、order先對數值排序,然後返回排序後各數值的索引;
3、rank返回原數據各項排名;
4、arrange是plyr包中的,可對數據框按列排序,仍返回數據框;
5、reorder用在繪圖中,比如ggplot中繪條形圖,可使x軸按y軸數值大小排序;比如橫軸爲age,縱軸爲money,可寫爲:aes(x=reorder(age,money),y=money),即按money對age排序
詳情且看下面的實驗數據(可自己嘗試,加深理解!)
選用兩組實驗數據:數值型m,字符型n
簡單的實驗數據:
m數值型向量1,4,7,2,n字符型向量a,c,d,b;
簡單的代碼:
m<-c(1,4,7,2)
n<-c('a','c','d','b')
1.Sort的用法
sort(m)
## [1] 1 2 4 7
sort(n)
## [1] "a" "b" "c" "d"
2.Rank的用法
rank(m)
## [1] 1 3 4 2
3.order的用法
order(m)
## [1] 1 4 2 3
order(n)
## [1] 1 4 2 3
4.arrange的用法
#首先構造數據框mn(第一列爲m,第二列爲n)
mn<-as.data.frame(cbind(m,n))
library(plyr)
#按照m列排序
arrange(mn,m)
## m n
## 1 1 a
## 2 2 b
## 3 4 c
## 4 7 d
#按照n列排序
arrange(mn,n)
## m n
## 1 1 a
## 2 2 b
## 3 4 c
## 4 7 d
5.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(雖然不完整)哈哈哈!!幸運!!不過,如果我之前總結完,考試的時候就不用猶豫那麼久了,,還是有點後悔的!這件事告訴我,,老師真的啥都可能考,,不管多細!!
---------------------
作者:還是小小白
來源:CSDN
原文:https://blog.csdn.net/kelanj/article/details/80945540
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!