确定流销售数据的开始/完成日期(R / Tidyverse)

时间:2018-02-19 18:40:39

标签: r csv dplyr tidyr lubridate

请参阅this sample file了解我的测试数据。

目标:确定(由客户):1)最早&获得了最新的销售日期(以及那些月份的相应销售额); 2)哪个月实现了最高销售额(以及相应的销售额)

在整理阶段后坚持 - 假设这需要使用'总结':

EdgeOptions options = new EdgeOptions();

1 个答案:

答案 0 :(得分:1)

您可以按Client Name进行分组,然后按预期使用Summarise,但我的解决方案可能会更加优雅。

首先,我会得到每个Client Name

销售额最高的月份
library(lubridate)
library(dplyr)

top_months <- tidy_df %>%
 group_by(`Client Name`) %>%
 top_n(1, Sales) %>%
 mutate(top_month = month(mdy(Year))) %>%
 select(`Client Name`, top_month)

然后,您可以汇总销售价值并加入最高销售月份列表。

library(dplyr)
library(lubridate)

tidy_df %>%
 mutate(Year = mdy(Year) %>%
 group_by(`Client Name`) %>%
 summarise(`Latest Sale` = max(Year),
        `Earliest Sale` = min(Year),
        `Highest Grossing Month Sales` = max(Sales)) %>%
 left_join(., top_months, by = "Client Name")