library(magrittr) library(dplyr) library(tidyr) library(tidyverse) library(lubridate) library(stringr) library(scales
data <- readRDS(“bike_orderlines.rds”)
path_bike_orderlines <- “bike_orderlines.rds” bike_orderlines_tbl <- readRDS(path_bike_orderlines) %>% mutate(model = case_when( model == “CAAD Disc Ultegra” ~ “CAAD12 Disc Ultegra”, model == “Syapse Carbon Tiagra” ~ “Synapse Carbon Tiagra”, model == “Supersix Evo Hi-Mod Utegra” ~ “Supersix Evo Hi-Mod Ultegra”, TRUE ~ model ))
glimpse(bike_orderlines_tbl)
bike_orderlines_tbl %>% select(order_date, total_price) %>% mutate(month = order_date %>% floor_date(“month”) %>% month(label = TRUE)) %>% group_by(month) %>% summarise(sales = sum(total_price)) %>% ungroup() %>% mutate(sales = scales::dollar(sales)) %>% arrange(month) %>% rename( “Month” = month, “Sales” = sales )
bike_orderlines_tbl %>% select(model, total_price) %>% mutate(Black = model %>% str_detect(“Black Inc”)) %>% group_by(Black) %>% summarise(Median_Orderline = median(total_price)) %>% ungroup() %>% mutate(Median_Orderline = scales::dollar(Median_Orderline))
bike_orderlines_tbl %>% select(model, total_price) %>% mutate(Ultegra = model %>% str_detect(“Ultegra”)) %>% group_by(Ultegra) %>% summarise(Median_Orderline = median(total_price)) %>% ungroup() %>% mutate(Median_Orderline = scales::dollar(Median_Orderline))
bike_orderlines_tbl %>% select(model, total_price) %>% mutate(Disc = model %>% str_detect(“Disc”)) %>% group_by(Disc) %>% summarise(Median_Orderline = median(total_price)) %>% ungroup() %>% mutate(Median_Orderline = scales::dollar(Median_Orderline))
bike_orderlines_tbl %>% distinct(category_1, category_2, model, price) %>% separate( col = model, into = str_c(“model_”, 1:9), sep = ” “, remove = FALSE, fill =”right”, extra = “drop” ) %>% mutate(model_base = case_when( str_detect(str_to_lower(model_1), “scalpel”) ~ str_c(model_1, model_2, sep = ” “), str_detect(str_to_lower(model_1),”beast”) ~ str_c(model_1, model_2, model_3, model_4, sep = ” “), TRUE ~ model_1 )) %>% select(-(model_1:model_9)) %>% group_by(category_1, category_2, model_base) %>% summarise( mean_price = mean(price), min_price = min(price), max_price = max(price) ) %>% ungroup() %>% mutate( mean_price = scales::dollar(mean_price, largest_with_cents = 1e+4), min_price = scales::dollar(min_price, largest_with_cents = 1e+4), max_price = scales::dollar(max_price, largest_with_cents = 1e+4) ) %>% arrange(desc(mean_price))
summarise()
has grouped output by ‘category_1’,
‘category_2’. You can.groups
argument.