如何使用 dplyr 按组对变量进行排序 |
您所在的位置:网站首页 › 怎样按照名称排序出来 › 如何使用 dplyr 按组对变量进行排序 |
如何使用 dplyr 按组对变量进行排序经过 本杰明·安德森博
7月 23, 2023
指导
0 条评论 您可以使用以下基本语法对 dplyr 中的变量进行分组: df %>% arrange (group_var, numeric_var) %>% group_by (group_var) %>% mutate (rank = rank(numeric_var))以下示例展示了如何在实践中使用以下数据框使用此语法: #create data frame df % arrange (team, points) %>% group_by (team) %>% mutate (rank = rank(points)) # A tibble: 10 x 4 # Groups: team [3] team points rebounds rank 1 A 12 5 1 2 A 19 7 2 3 A 22 12 3 4 A 28 7 4 5 B 22 10 1 6 B 32 11 2 7 B 45 4 3 8 C 13 8 1 9 C 19 8 2 10 C 28 7 3示例2:按降序排列我们还可以使用Rank()函数中的负号按组的降序对得分进行分类: library (dplyr) #rank points scored in reverse, grouped by team df %>% arrange (team, points) %>% group_by (team) %>% mutate (rank = rank(-points)) # A tibble: 10 x 4 # Groups: team [3] team points rebounds rank 1 to 12 5 4 2 A 19 7 3 3 A 22 12 2 4 A 28 7 1 5 B 22 10 3 6 B 32 11 2 7 B 45 4 1 8 C 13 8 3 9 C 19 8 2 10 C 28 7 1 如何处理排名中的平局我们可以使用tie.method参数来指定在对数值进行排序时应如何处理关系。 rank(points, ties. method = ' average ')您可以使用以下选项之一来指定如何处理链接: average :(默认)为每个链接的项目提供平均排名(排名第 3 和第 4 的项目都将获得 3.5 的排名)first :将第一个链接元素分配给最低排名(排名第 3 和第 4 位置的元素将分别获得排名 3 和 4)min :将每个链接的项目分配到最低排名(排名第 3 和第 4 的项目都将获得排名 3)max :为每个链接的项目分配最高排名(排名第 3 和第 4 的项目都将获得排名 4)random :为每个并列元素分配一个随机排名(与第三和第四位置并列的元素都可以接收任一排名)其他资源以下教程解释了如何在 dplyr 中执行其他常用功能: 如何使用 dplyr 按组选择第一行如何使用 dplyr 计算相对频率如何使用 dplyr 对值重新编码如何在 dplyr 中用零替换 NA 关于作者大家好,我是本杰明,一位退休的统计学教授,后来成为 Statorials 的热心教师。 凭借在统计领域的丰富经验和专业知识,我渴望分享我的知识,通过 Statorials 增强学生的能力。了解更多 添加评论取消回复 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |