R中rank函数使用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

R中rank函数使用

2017年04月25日 17:21:10

阅读数:1239

rank(x, st = TRUE,

ties.method = c("average", "first", "random", "max", "min"))

(1) rank 函数是对一维度数组、向量x 进行排序。若x 为数值,则按照小数在线大数在后的原则进行排序

P.S. 实际情况中,存在大量用二维表格描述的数据,比如行表示地点列表示时间的统计表,若进行排序,应先通过字符拼接的手段将表格转化为一维的向量,否则结果将失去意义。

(2) rank 将数据分为确定值与缺失值两种。缺失值可按先后排在确定值之间(st = FALSE), 也可排在之后(st = T RUE), 也可保留,不参与排序(st = "keep").

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

"max" 是相同元素都取该组中最好的水平,即通常所讲的并列排序。

"min" 是相同元素都取该组中最差的水平,可以增大序列的等级差异。

"average" 是相同元素都取该组中的平均水平,该水平可能是个小数。

"random" 是相同元素随机编排次序,避免了“先到先得”,“权重”优于“先后顺序”的机制增大了随机的程度。

比如,在100米赛跑中,甲乙丙三人的成绩为6.8s, 8.1s, 7.2 s,那么用rank函数排序获得名次:

> rank(t <- c(6.8, 8.1, 7.2))

[1] 1 3 2

再如,甲乙丙三人考试得分为74,92,85,用同样方法取得名次会适得其反。当然,我们可以认为执行

> rank(-(s <- c(74, 92, 85)))

[1] 3 1 2

可以达到目的,但这并未改变rank函数的排序机制。

相关文档
最新文档