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(lubridate)
##
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
##
## date, intersect, setdiff, union
bike_orderlines <- readRDS("C:/Users/Dell/Downloads/bike_orderlines.rds")
bike_orderlines <- bike_orderlines %>%
mutate(model = gsub("CAAD Disk Ultegra", "CAAD12 Disc Ultegra", model),
model = gsub("Syapse Carbon Tiagra", "Synapse Carbon Tiagra", model),
model = gsub("Supersix Evo Hi-Mod Utegra", "Supersix Evo Hi-Mod Ultegra", model))
bike_orderlines %>%
mutate(month = month(order_date)) %>%
group_by(month) %>%
summarize(Sales = sum(total_price, na.rm = TRUE)) %>%
arrange(desc(Sales)) %>%
head(1)
## # A tibble: 1 × 2
## month Sales
## <dbl> <dbl>
## 1 4 8386170
library(dplyr)
bike_orderlines %>%
mutate(model_base = substr(model, 1, regexpr(" ", model) - 1)) %>%
group_by(model_base) %>%
summarize(
`Mean Price` = mean(price, na.rm = TRUE),
`Min Price` = min(price, na.rm = TRUE),
`Max Price` = max(price, na.rm = TRUE)
)
## # A tibble: 18 × 4
## model_base `Mean Price` `Min Price` `Max Price`
## <chr> <dbl> <dbl> <dbl>
## 1 Bad 2954. 2660 3200
## 2 Beast 2194. 1620 2770
## 3 CAAD 2660 2660 2660
## 4 CAAD12 2978. 1680 5860
## 5 CAAD8 1136. 815 1410
## 6 Catalyst 541. 415 705
## 7 F-Si 4504. 1840 11190
## 8 Fat 2767. 2130 3730
## 9 Habit 4611. 1950 12250
## 10 Jekyll 5042. 3200 7990
## 11 Scalpel 4499. 3200 6390
## 12 Scalpel-Si 6695. 3200 12790
## 13 Slice 3527. 1950 7000
## 14 SuperX 2339. 1750 3500
## 15 Supersix 4978. 1840 12790
## 16 Synapse 3080. 870 9590
## 17 Trail 1153. 815 1520
## 18 Trigger 4970. 3200 8200
library(stringr)
library(dplyr)
median_orderline_black_inc <- bike_orderlines %>%
group_by(`Black Inc` = str_detect(model, "Black Inc")) %>%
summarize(`Median Orderline` = median(total_price, na.rm = TRUE))
print(median_orderline_black_inc)
## # A tibble: 2 × 2
## `Black Inc` `Median Orderline`
## <lgl> <dbl>
## 1 FALSE 2880
## 2 TRUE 12250
median_orderline_ultegra <- bike_orderlines %>%
group_by(Ultegra = str_detect(model, "Ultegra")) %>%
summarize(`Median Orderline` = median(total_price, na.rm = TRUE))
print(median_orderline_ultegra)
## # A tibble: 2 × 2
## Ultegra `Median Orderline`
## <lgl> <dbl>
## 1 FALSE 3200
## 2 TRUE 3200
median_orderline_disc <- bike_orderlines %>%
group_by(Disc = str_detect(model, "Disc")) %>%
summarize(`Median Orderline` = median(total_price, na.rm = TRUE))
print(median_orderline_disc)
## # A tibble: 2 × 2
## Disc `Median Orderline`
## <lgl> <dbl>
## 1 FALSE 3200
## 2 TRUE 2660