---
title: "CYCLISTIC BIKES V2"
output:
flexdashboard::flex_dashboard:
orientation: row
vertical_layout: fill
source_code: embed
theme:
version: 4
bootswatch: sandstone
---
```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
library(plotly)
library(DT)
library(fontawesome)
library(usethis)
library(readr)
library(ggthemes)
```
```{r}
options(scipen = 999)
```
```{r}
all_trips_v2 <- read.csv("C:/Users/SWill/Documents/JAN TO DEC 2021 CYCLISTIC BIKES/JAN TO DEC 2021/all_trips_v2.csv")
jan_to_mar_v2 <- read.csv("C:/Users/SWill/Documents/JAN TO MAR CYCLISTIC BIKES/jan_to_mar_v2.csv")
apr_to_jun_v2 <- read.csv("C:/Users/SWill/Documents/APR TO JUN CYCLISTIC BIKES/apr_to_jun_v2.csv")
jul_to_sep_v2 <- read.csv("C:/Users/Swill/Documents/JUL TO SEP CYCLISTIC BIKES/jul_to_sep_v2.csv")
oct_to_dec_v2 <- read.csv("C:/Users/Swill/Documents/OCT TO DEC CYCLISTIC BIKES/oct_to_dec_v2.csv")
```
January to December 2021 {data-navmenu="Pages"}
====================================================================================================================
Sidebar {.sidebar}
--------------------------------------------------------------------------------------------------------------------
### Cyclistic Bikes Stats
The number of bikes used this year is `r nrow(all_trips_v2)`
Row
--------------------------------------------------------------------------------------------------------------------
### Number of bikes
```{r}
valueBox(nrow(all_trips_v2), icon = "fa-bicycle")
```
### Average time on bike (minutes)
```{r}
avg_time = round(mean(all_trips_v2$ride_length_total),1)
gauge(avg_time,
min(0),
max = max(all_trips_v2$ride_length_total),
gaugeSectors(success = c(120, 360),
warning = c(361, 720),
danger = c(721, 1440)))
```
Column {.tabset}
--------------------------------------------------------------------------------------------------------------------
### Rideable Type Daily Totals.
```{r}
w = all_trips_v2 %>%
group_by(weekday., rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(weekday.) %>%
ggplot(aes(x = weekday., y = number_of_rides, fill = rideable_type)) +
labs(title = "Rideable Type, January to December 2021 Daily Totals.",
x = "Day Of Week",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(w)
```
### Casual & Members, Yearly Total.
```{r}
all_trips_v2_tot <- all_trips_v2 %>%
group_by(member_casual) %>%
summarise(number_of_rides = n())
pie_cvm <- data.frame(group = c("casual", "member"), value = c(2012051, 2460567))
ggplot(pie_cvm, aes(x = "", y = value, fill = group)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(aes(label = round(value, 3)), position = position_stack(vjust = 0.5))+
labs(title = "January to December 2021.")+
theme_economist()
```
### Casual Vs Members, Rideable Type.
```{r}
z = all_trips_v2 %>%
group_by(member_casual, rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(member_casual, rideable_type) %>%
ggplot(aes(x = rideable_type, y = number_of_rides, fill = member_casual)) +
labs(title = "Member Vs Casual, January to December 2021, Rideable Type.",
x = "Rideable Type",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(z)
```
January to March 2021 {data-navmenu="Pages"}
====================================================================================================================
Sidebar {.sidebar}
--------------------------------------------------------------------------------------------------------------------
### Cyclistic Bikes Stats
The number of bikes used in this quarter is `r nrow(jan_to_mar_v2)`
The number of Casual riders in this quarter is 97419.
The number of Member riders in this quarter is 226938.
Row
--------------------------------------------------------------------------------------------------------------------
### Number of bikes
```{r}
valueBox(nrow(jan_to_mar_v2), icon = "fa-bicycle")
```
### Average time on bike (minutes)
```{r}
avg_time = round(mean(jan_to_mar_v2$ride_length_total),1)
gauge(avg_time,
min(0),
max = max(jan_to_mar_v2$ride_length_total),
gaugeSectors(success = c(0, 499),
warning = c(500, 999 ),
danger = c(1000, 1500)))
```
Column {.tabset}
--------------------------------------------------------------------------------------------------------------------
### Rideable Type Daily Totals.
```{r}
a = jan_to_mar_v2 %>%
group_by(weekday., rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(weekday.) %>%
ggplot(aes(x = weekday., y = number_of_rides, fill = rideable_type)) +
scale_fill_brewer(palette = "Set3")+
labs(title = "Rideable Type, January to March 2021, Daily Totals.",
x = "Day Of Week",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(a)
```
### Casual & Members, Quarterly Total.
```{r}
jan_to_mar_pi <- jan_to_mar_v2%>%
group_by(member_casual) %>%
summarise(number_of_rides = n())
jan_to_mar_pie <- data.frame(group = c("casual", "member"), value = c(97419, 226938))
ggplot(jan_to_mar_pie, aes(x = "", y = value, fill = group)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(aes(label = round(value, 3)), position = position_stack(vjust = 0.5))+
scale_fill_brewer(palette = "Set3")+
labs(title = "January to March 2021.")+
theme_economist()
```
### Casual Vs Members, Rideable Type.
```{r}
b = jan_to_mar_v2 %>%
group_by(member_casual, rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(member_casual, rideable_type) %>%
ggplot(aes(x = rideable_type, y = number_of_rides, fill = member_casual)) +
scale_fill_brewer(palette = "Set3")+
labs(title = "Member Vs Casual, January to March 2021, Rideable Type.",
x = "Rideable Type",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(b)
```
April to June 2021 {data-navmenu="Pages"}
====================================================================================================================
Sidebar {.sidebar}
--------------------------------------------------------------------------------------------------------------------
### Cyclistic Bikes Stats
The number of bikes used in this quarter is `r nrow(apr_to_jun_v2)`
An increase of 532298 Casual riders in this quarter.
An increase of 468731 Member riders in this quarter.
An overall increase of 1001029 riders in this quarter.
Row
--------------------------------------------------------------------------------------------------------------------
### Number of Bikes
```{r}
valueBox(nrow(apr_to_jun_v2), icon = "fa-bicycle")
```
### Average time on bike (minutes)
```{r}
avg_time = round(mean(apr_to_jun_v2$ride_length_total),1)
gauge(avg_time,
min(0),
max = max(apr_to_jun_v2$ride_length_total),
gaugeSectors(success = c(0, 499),
warning = c(500, 999 ),
danger = c(1000, 1500)))
```
Column {.tabset}
--------------------------------------------------------------------------------------------------------------------
### Rideable Type, Daily Totals.
```{r}
c = apr_to_jun_v2 %>%
group_by(weekday., rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(weekday.) %>%
ggplot(aes(x = weekday., y = number_of_rides, fill = rideable_type)) +
scale_fill_brewer(palette = "Spectral")+
labs(title = "Rideable Type, April to June 2021, Daily Totals.",
x = "Day Of Week",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(c)
```
### Casual & Members, Quarterly Total.
```{r}
apr_to_jun_pi <- apr_to_jun_v2%>%
group_by(member_casual) %>%
summarise(number_of_rides = n())
apr_to_jun_pie <- data.frame(group = c("casual", "member"), value = c(629717, 695669))
ggplot(apr_to_jun_pie, aes(x = "", y = value, fill = group)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(aes(label = round(value, 3)), position = position_stack(vjust = 0.5))+
scale_fill_brewer(palette = "Spectral")+
labs(title = "April to June 2021.")+
theme_economist()
```
### Casual Vs Members, Rideable Type.
```{r}
d = apr_to_jun_v2 %>%
group_by(member_casual, rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(member_casual, rideable_type) %>%
ggplot(aes(x = rideable_type, y = number_of_rides, fill = member_casual)) +
scale_fill_brewer(palette = "Spectral")+
labs(title = "Member Vs Casual, April to June 2021, Rideable Type.",
x = "Rideable Type",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(d)
```
July to September 2021 {data-navmenu="Pages"}
====================================================================================================================
Sidebar {.sidebar}
--------------------------------------------------------------------------------------------------------------------
### Cyclistic Bikes Stats
The number of bikes used in this quarter is `r nrow(jul_to_sep_v2)`
An increase of 356427 Casual riders in this quarter.
An increase of 258431 Member riders in this quarter.
An overall increase of 614858 riders in this quarter.
Row
--------------------------------------------------------------------------------------------------------------------
### Number of Bikes
```{r}
valueBox(nrow(jul_to_sep_v2), icon = "fa-bicycle")
```
### Average time on bike (minutes)
```{r}
avg_time = round(mean(jul_to_sep_v2$ride_length_total),1)
gauge(avg_time,
min(0),
max = max(jul_to_sep_v2$ride_length_total),
gaugeSectors(success = c(0, 499),
warning = c(500, 999 ),
danger = c(1000, 1500)))
```
Column {.tabset}
--------------------------------------------------------------------------------------------------------------------
### Rideable Type, Daily Totals.
```{r}
e = jul_to_sep_v2 %>%
group_by(weekday., rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(weekday.) %>%
ggplot(aes(x = weekday., y = number_of_rides, fill = rideable_type)) +
scale_fill_brewer(palette = "Dark2")+
labs(title = "Rideable Type, July to September 2021, Daily Totals.",
x = "Day Of Week",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(e)
```
### Casual & Members, Quarterly Total.
```{r}
jul_to_sep_pi <- jul_to_sep_v2%>%
group_by(member_casual) %>%
summarise(number_of_rides = n())
jul_to_sep_pie <- data.frame(group = c("casual", "member"), value = c(986144, 954100))
ggplot(jul_to_sep_pie, aes(x = "", y = value, fill = group)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(aes(label = round(value, 3)), position = position_stack(vjust = 0.5))+
scale_fill_brewer(palette = "Dark2")+
labs(title = "July to September 2021.")+
theme_economist()
```
### Casual Vs Members, Rideable Type.
```{r}
f = jul_to_sep_v2 %>%
group_by(member_casual, rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(member_casual, rideable_type) %>%
ggplot(aes(x = rideable_type, y = number_of_rides, fill = member_casual)) +
scale_fill_brewer(palette = "Dark2")+
labs(title = "Member Vs Casual, July to September 2021, Rideable Type.",
x = "Rideable Type",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(f)
```
October to December 2021 {data-navmenu="Pages"}
====================================================================================================================
Sidebar {.sidebar}
--------------------------------------------------------------------------------------------------------------------
### Cyclistic Bikes Stats
The number of bikes used in this quarter is `r nrow(oct_to_dec_v2)`
A decrease of 687373 Casual riders in this quarter.
A decrease of 370240 Member riders in this quarter.
An overall decrease of 1057613 riders in this quarter.
Row
--------------------------------------------------------------------------------------------------------------------
### Number of Bikes
```{r}
valueBox(nrow(oct_to_dec_v2), icon = "fa-bicycle")
```
### Average time on bike (minutes)
```{r}
avg_time = round(mean(oct_to_dec_v2$ride_length_total),1)
gauge(avg_time,
min(0),
max = max(oct_to_dec_v2$ride_length_total),
gaugeSectors(success = c(0, 499),
warning = c(500, 999 ),
danger = c(1000, 1500)))
```
Column {.tabset}
--------------------------------------------------------------------------------------------------------------------
### Rideable Type, Daily Totals.
```{r}
g = oct_to_dec_v2 %>%
group_by(weekday., rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(weekday.) %>%
ggplot(aes(x = weekday., y = number_of_rides, fill = rideable_type)) +
scale_fill_brewer(palette = "Accent")+
labs(title = "Rideable Type, October to December 2021, Daily Totals.",
x = "Day Of Week",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(g)
```
### Casual & Members, Quarterly Total.
```{r}
oct_to_dec_pi <- oct_to_dec_v2%>%
group_by(member_casual) %>%
summarise(number_of_rides = n())
oct_to_dec_pie <- data.frame(group = c("casual", "member"), value = c(298771, 583860))
ggplot(oct_to_dec_pie, aes(x = "", y = value, fill = group)) +
geom_col(width = 1) +
coord_polar("y") +
geom_text(aes(label = round(value, 3)), position = position_stack(vjust = 0.5))+
scale_fill_brewer(palette = "Accent")+
labs(title = "October to December 2021.")+
theme_economist()
```
### Casual Vs Members, Rideable Type.
```{r}
g = oct_to_dec_v2 %>%
group_by(member_casual, rideable_type) %>%
summarise(number_of_rides = n()) %>%
arrange(member_casual, rideable_type) %>%
ggplot(aes(x = rideable_type, y = number_of_rides, fill = member_casual)) +
scale_fill_brewer(palette = "Accent")+
labs(title = "Member Vs Casual, October to December 2021, Rideable Type.",
x = "Rideable Type",
y = "Number of Bikes")+
geom_col(position = "dodge")+
theme_economist()
ggplotly(g)
```