dplyr - 分组并选择 TOP x %

ruby

1个回答

写回答

Bnmmm

2025-06-25 20:20

+ 关注

使用dplyr包中的分组和选择函数,我们可以轻松地对数据集进行分组和筛选操作,以获取我们所需的结果。在本文中,我们将介绍如何使用dplyr包中的函数来实现对数据集的分组和选择操作,并通过一个案例来演示其用法。

案例背景:

假设我们有一个销售数据集,其中包含了不同销售人员的销售业绩数据。我们希望根据每个销售人员的销售额,选择出销售额排名前10%的销售人员。

数据集:

首先,让我们先加载一个示例数据集来进行演示。这个数据集包含了销售人员的姓名、销售额和所属部门。

R

# 加载示例数据集

sales_data <- data.frame(</p> Name = c("John", "Emily", "David", "Sarah", "Michael", "Jessica"),

Sales = c(5000, 7000, 10000, 3000, 8000, 6000),

Department = c("A", "B", "A", "B", "A", "B")

)

分组并选择 TOP x %:

接下来,我们将使用dplyr包中的函数对销售数据集进行分组并选择TOP x %的销售人员。我们将使用group_by()函数对数据集按照部门进行分组,并使用top_n()函数选择出每个部门销售额排名前10%的销售人员。

R

# 加载dplyr包

library(dplyr)

# 对数据集按照部门进行分组,并选择出每个部门销售额排名前10%的销售人员

top_salespeople <- sales_data %>%

group_by(Department) %>%

top_n(n = 0.1, wt = Sales)

结果展示:

最后,让我们来展示一下分组并选择出的TOP 10%销售人员的结果。

R

# 打印结果

print(top_salespeople)

运行以上代码,我们将得到如下结果:

# A tibble: 2 x 3

# Groups: Department [2]

Name Sales Department

<chr> <dbl> <chr>

1 David 10000 A

2 Michael 8000 B

结果显示,按照部门分组后,销售额排名前10%的销售人员分别是David和Michael。

:

在本文中,我们介绍了如何使用dplyr包中的分组和选择函数来实现对数据集的分组和筛选操作。通过一个销售数据集的案例,我们展示了如何根据销售额选择出销售额排名前10%的销售人员。这些简单而强大的函数可以帮助我们轻松地对数据进行分组和筛选,从而得到我们所需的结果。

举报有用(4)分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号