install.packages("dplyr")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.3'
## (as 'lib' is unspecified)
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
bike_data <- readRDS("bike_orderlines (1) (1).rds")
unique_category_1 <- unique(bike_data$category_1)
unique_category_2 <- unique(bike_data$category_2)
unique_frame_material <- unique(bike_data$frame_material)
unique_category_1
## [1] "Mountain" "Road"
unique_category_2
## [1] "Over Mountain" "Trail" "Elite Road"
## [4] "Endurance Road" "Sport" "Cross Country Race"
## [7] "Cyclocross" "Triathalon" "Fat Bike"
unique_frame_material
## [1] "Carbon" "Aluminum"
category_1_sales <- bike_data %>%
group_by('Primary Category' = category_1) %>%
summarise(Sales = sum(total_price)) %>%
arrange(desc(Sales))
category_1_sales
## # A tibble: 2 × 2
## `Primary Category` Sales
## <chr> <dbl>
## 1 Mountain 39154735
## 2 Road 31877595
category_2_sales <- bike_data %>%
group_by('Secondary Category' = category_2) %>%
summarise(Sales = sum(total_price)) %>%
arrange(desc(Sales))
category_2_sales
## # A tibble: 9 × 2
## `Secondary Category` Sales
## <chr> <dbl>
## 1 Cross Country Race 19224630
## 2 Elite Road 15334665
## 3 Endurance Road 10381060
## 4 Trail 9373460
## 5 Over Mountain 7571270
## 6 Triathalon 4053750
## 7 Cyclocross 2108120
## 8 Sport 1932755
## 9 Fat Bike 1052620
frame_material_sales <- bike_data %>%
group_by('Frame Material' = frame_material) %>%
summarise(Sales = sum(total_price)) %>%
arrange(desc(Sales))
frame_material_sales
## # A tibble: 2 × 2
## `Frame Material` Sales
## <chr> <dbl>
## 1 Carbon 52940540
## 2 Aluminum 18091790
combinations <- bike_data %>%
group_by('Primary Category' = category_1, 'Secondary Category' = category_2) %>%
summarise(Aluminum = sum(total_price[frame_material == "Aluminum"]),
Carbon = sum(total_price[frame_material == "Carbon"]),
'Total Sales' = sum(total_price))
## `summarise()` has grouped output by 'Primary Category'. You can override using
## the `.groups` argument.
combinations
## # A tibble: 9 × 5
## # Groups: Primary Category [2]
## `Primary Category` `Secondary Category` Aluminum Carbon `Total Sales`
## <chr> <chr> <dbl> <dbl> <dbl>
## 1 Mountain Cross Country Race 3318560 15906070 19224630
## 2 Mountain Fat Bike 1052620 0 1052620
## 3 Mountain Over Mountain 0 7571270 7571270
## 4 Mountain Sport 1932755 0 1932755
## 5 Mountain Trail 4537610 4835850 9373460
## 6 Road Cyclocross 0 2108120 2108120
## 7 Road Elite Road 5637795 9696870 15334665
## 8 Road Endurance Road 1612450 8768610 10381060
## 9 Road Triathalon 0 4053750 4053750