`dpylr`计数字段中唯一项目的函数

时间:2017-09-28 00:28:44

标签: r

我已经在这里搜索了几次,如果这是重复的话,请道歉。

我第一次使用dplyr,而且我无法想出我想要的东西。如果我在做SQL,查询将如下所示:

select count(customer_id), sum(sales), (sum(sales) / count(customer_id), *
  from data_table
 group by salesperson_id

用语言来说,我想:

  1. 按销售人员分组数据
  2. 将总销售额加起来
  3. 计算唯一客户的数量
  4. 查找每位销售人员的每位客户的平均销售额。
  5. 我不想在此时删除“无关”字段,因为它们将在后面的步骤中变得相关。

    我陷入困境,特别是因为唯一的计数函数dplyr提供的不带任何参数。 我应该使用什么聚合函数来计算字段中的不同项?

1 个答案:

答案 0 :(得分:1)

回答问题:我应该使用哪些汇总函数来计算字段中的不同项?

n_distinct()

请参阅文档here

更广泛的例子,虽然原始问题中的reprex会有所帮助:

data_table %>%
    group_by(salesperson_id) %>%
    mutate(
        customers = n_distinct(customer_id),
        sales = sum(sales),
        sales_per_customer = sales / customers
    )