library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(tidyr)
library(stringr)
library(scales)
bike_orderline_tbl <- read.csv("bike_orderlines.csv")
bike_orderline_tbl %>%
group_by(category_1, category_2, frame_material) %>%
summarise(Sales = sum(total_price, na.rm = TRUE)) %>%
mutate(Sales = dollar(Sales)) %>%
rename(
'Prime category' = category_1,
'Secondary category' = category_2,
'Frame Material' = frame_material
)
## `summarise()` has grouped output by 'category_1', 'category_2'. You can
## override using the `.groups` argument.
## # A tibble: 13 × 4
## # Groups: Prime category, Secondary category [9]
## `Prime category` `Secondary category` `Frame Material` Sales
## <chr> <chr> <chr> <chr>
## 1 Mountain Cross Country Race Aluminum $3,318,560
## 2 Mountain Cross Country Race Carbon $15,906,070
## 3 Mountain Fat Bike Aluminum $1,052,620
## 4 Mountain Over Mountain Carbon $7,571,270
## 5 Mountain Sport Aluminum $1,932,755
## 6 Mountain Trail Aluminum $4,537,610
## 7 Mountain Trail Carbon $4,835,850
## 8 Road Cyclocross Carbon $2,108,120
## 9 Road Elite Road Aluminum $5,637,795
## 10 Road Elite Road Carbon $9,696,870
## 11 Road Endurance Road Aluminum $1,612,450
## 12 Road Endurance Road Carbon $8,768,610
## 13 Road Triathalon Carbon $4,053,750