古詩詞大全網 - 成語大全 - R sort、rank、order、arrange排序函數

R sort、rank、order、arrange排序函數

R語言中排序有幾個基本函數:sort()、rank()、order()、arrange()

壹、總結

sort()函數是對向量進行從小到大的排序

rank()函數返回的是對向量中每個數值對應的秩

order()函數返回的值表示位置,依次對應的是向量的最小值、次小值、第三小值……最大值等(位置索引)

arrange()函數(需加載dplyr包)針對數據框,返回基於某列排序後的數據框,方便多重依據排序

二、具體用法

1.sort

2.order

(1) rank 函數是對壹維度數組、向量x 進行排序。若x 為數值,則按照從小到大的原則進行排序。

P.S. 實際情況中,存在大量用二維表格描述的數據,比如行表示地點列表示時間的統計表,若進行排序,應先通過字符拼接的手段將表格轉化為壹維的向量,否則結果將失去意義。

(2) rank 將數據分為確定值與缺失值兩種。缺失值可按先後排在確定值之間(na.last = FALSE), 也可排在之後(na.last = TRUE), 也可保留,不參與排序(na.last = "keep")。

(3) "first" 是最基本的排序,小數在前大數在後,相同元素先者在前後者在後。

"max" 是相同元素都取該組中最好的水平,即通常所講的並列排序。

"min" 是相同元素都取該組中最差的水平,可以增大序列的等級差異。

"average" 是相同元素都取該組中的平均水平,該水平可能是個小數。

"random" 是相同元素隨機編排次序,避免了“先到先得”,“權重”優於“先後順序”的機制增大了隨機的程度。