當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R dplyr percent_rank 比例排名函數


這兩個排名函數實現了兩種略有不同的計算百分位數的方法。對於x中的每個x_i

  • cume_dist(x) 計算小於或等於 x_i 的值的總數,並將其除以觀測值的數量。

  • percent_rank(x) 計算小於 x_i 的值的總數,並將其除以觀測值的數量減 1。

在這兩種情況下,在計算觀測值數量時都會忽略缺失值。

用法

percent_rank(x)

cume_dist(x)

參數

x

用於排名的向量

默認情況下,最小值將獲得最小的排名。使用 desc() 反轉方向,使最大值獲得最小的排名。

缺失值將被賦予排名 NA 。如果您想分別將它們視為最大值或最小值,請使用coalesce(x, Inf)coalesce(x, -Inf)

要一次按多列排名,請提供 DataFrame 。

包含比例的數值向量。

也可以看看

其他排名函數:ntile()row_number()

例子

x <- c(5, 1, 3, 2, 2)

cume_dist(x)
#> [1] 1.0 0.2 0.8 0.6 0.6
percent_rank(x)
#> [1] 1.00 0.00 0.75 0.25 0.25

# You can understand what's going on by computing it by hand
sapply(x, function(xi) sum(x <= xi) / length(x))
#> [1] 1.0 0.2 0.8 0.6 0.6
sapply(x, function(xi) sum(x < xi)  / (length(x) - 1))
#> [1] 1.00 0.00 0.75 0.25 0.25
# The real computations are a little more complex in order to
# correctly deal with missing values
源代碼:R/rank.R

相關用法


注:本文由純淨天空篩選整理自Hadley Wickham等大神的英文原創作品 Proportional ranking functions。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。