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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。