当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。