rank
位于 base
包(package)。 说明
返回向量中值的样本排名。平局(即相等的值)和缺失值可以通过多种方式处理。
用法
rank(x, na.last = TRUE,
ties.method = c("average", "first", "last", "random", "max", "min"))
参数
x |
数字、复数、字符或逻辑向量。 |
na.last |
控制 |
ties.method |
指定如何处理关系的字符串,请参阅“详细信息”;可以缩写。 |
细节
如果所有组件都不同(并且没有 NA
),则等级定义明确,值在 seq_along(x)
中。如果某些值相等(称为‘ties’),则参数ties.method
确定相应索引处的结果。 "first"
方法会导致每个索引组处的值递增的排列,类似地 "last"
会递减值。 "random"
方法将它们按随机顺序排列,而默认值 "average"
则用平均值替换它们,而 "max"
和 "min"
分别用最大值和最小值替换它们,后者是典型的体育排名。
NA
值永远不会被视为相等:对于 na.last =
TRUE
和 na.last = FALSE
,它们按照它们在 x
中出现的顺序被赋予不同的排名。
注意:rank
本身不是通用的,但 xtfrm
是通用的,如果有 xtfrm
方法,rank(xtfrm(x), ....)
将获得所需的结果。否则, rank
将使用 ==
、 >
、 is.na
和分类对象的提取方法,速度可能相当慢。
值
与 x
长度相同的数字向量,其名称从 x
复制(除非 na.last = NA
,当删除缺失值时)。向量为整数类型,除非 x
为长向量,或 ties.method = "average"
为双精度类型(无论是否存在任何关系)。
例子
(r1 <- rank(x1 <- c(3, 1, 4, 15, 92)))
x2 <- c(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5)
names(x2) <- letters[1:11]
(r2 <- rank(x2)) # ties are averaged
## rank() is "idempotent": rank(rank(x)) == rank(x) :
stopifnot(rank(r1) == r1, rank(r2) == r2)
## ranks without averaging
rank(x2, ties.method= "first") # first occurrence wins
rank(x2, ties.method= "last") # last occurrence wins
rank(x2, ties.method= "random") # ties broken at random
rank(x2, ties.method= "random") # and again
## keep ties ties, no average
(rma <- rank(x2, ties.method= "max")) # as used classically
(rmi <- rank(x2, ties.method= "min")) # as in Sports
stopifnot(rma + rmi == round(r2 + r2))
## Comparing all tie.methods:
tMeth <- eval(formals(rank)$ties.method)
rx2 <- sapply(tMeth, function(M) rank(x2, ties.method=M))
cbind(x2, rx2)
## ties.method's does not matter w/o ties:
x <- sample(47)
rx <- sapply(tMeth, function(MM) rank(x, ties.method=MM))
stopifnot(all(rx[,1] == rx))
参考
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.
也可以看看
相关用法
- R range 值范围
- R rapply 递归地将函数应用于列表
- R raw 原始向量
- R rawConnection 原始连接
- R rawConversion 与(位/打包)原始向量之间的转换
- R readRenviron 从文件设置环境变量
- R remove 从指定环境中删除对象
- R readChar 与连接之间传输字符串
- R rep 复制向量和列表的元素
- R readRDS 单个对象的序列化接口
- R reg.finalizer 对象的最终确定
- R row 行索引
- R row.names 获取和设置 DataFrame 的行名称
- R rowsum 根据分组变量给出矩阵或 DataFrame 的列和
- R rev 反转元素
- R rle 游程长度编码
- R regmatches 提取或替换匹配的子字符串
- R readline 从终端读取一行
- R round.POSIXt 舍入/截断日期时间对象
- R readBin 与连接之间传输二进制数据
- R replace 替换向量中的值
- R readLines 从连接读取文本行
- R file.path 构造文件路径
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Sample Ranks。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。