这两个排名函数实现了两种略有不同的计算百分位数的方法。对于x
中的每个x_i
:
-
cume_dist(x)
计算小于或等于x_i
的值的总数,并将其除以观测值的数量。 -
percent_rank(x)
计算小于x_i
的值的总数,并将其除以观测值的数量减 1。
在这两种情况下,在计算观测值数量时都会忽略缺失值。
参数
- 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 dplyr pull 提取单列
- R dplyr pick 选择列的子集
- R dplyr group_trim 修剪分组结构
- R dplyr slice 使用行的位置对行进行子集化
- R dplyr copy_to 将本地数据帧复制到远程src
- R dplyr sample_n 从表中采样 n 行
- R dplyr consecutive_id 为连续组合生成唯一标识符
- R dplyr row_number 整数排名函数
- R dplyr band_members 乐队成员
- R dplyr mutate-joins 变异连接
- R dplyr nth 从向量中提取第一个、最后一个或第 n 个值
- R dplyr coalesce 找到第一个非缺失元素
- R dplyr group_split 按组分割 DataFrame
- R dplyr mutate 创建、修改和删除列
- R dplyr order_by 用于排序窗口函数输出的辅助函数
- R dplyr context 有关“当前”组或变量的信息
- R dplyr recode 重新编码值
- R dplyr starwars 星球大战人物
- R dplyr desc 降序
- R dplyr between 检测值落在指定范围内的位置
- R dplyr cumall 任何、全部和平均值的累积版本
- R dplyr group_map 对每个组应用一个函数
- R dplyr do 做任何事情
- R dplyr nest_join 嵌套连接
- R dplyr group_by_all 按选择的变量进行分组
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Proportional ranking functions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。