R语言排序函数

Python010

R语言排序函数,第1张

sort()是对向量进行从小到大的排序

rank()返回的是对向量中每个数值对应的秩

order()返回的值表示位置,依次对应的是向量的最小值、次小值、第三小值......最大值

rank() sort() order() 和 reorder()

data<=c(2,3,6,1)

reorder()函数在ggplot2中见过:

x = reorder(Var1, -Freq) Var1是分类变量,Freq是数值型变量

help(recorder) 的结果:

Reorder Levels of a Factor

Description

reorder is a generic function. The "default" method treats its first argument as a categorical variable, and reorders its levels based on the values of a second variable, usually numeric.

Usage

reorder(x, ...)

Default S3 method:

reorder(x, X, FUN = mean, ...,

order = is.ordered(x))

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" 是相同元素随机编排次序,避免了“先到先得”,“权重”优于“先后顺序”的机制增大了随机的程度。