R中rank函数使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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函数的排序机制。