Exercise on Data Visualization

Questions :

using “Charm_City_Circulator_Ridership.csv”

  1. construct simple barchart for orangeBoardings, purpleBoardings, greenBoardings, bannerBoardings

  2. construct boxplot by group of day for orangeBoardings, PurpleBoardings, greenBoardings, bannerBoardings.

  3. construct line chart for orangeBoardings, purpleBoardings, greenBoardings and BannerBoardings by date for month October 2010

Answer :

#using "Charm_City_Circulator_Ridership.csv"

data1 <- read.csv("Charm_City_Circulator_Ridership.csv")
dim(data1)
## [1] 1146   15
names(data1)
##  [1] "day"              "date"             "orangeBoardings" 
##  [4] "orangeAlightings" "orangeAverage"    "purpleBoardings" 
##  [7] "purpleAlightings" "purpleAverage"    "greenBoardings"  
## [10] "greenAlightings"  "greenAverage"     "bannerBoardings" 
## [13] "bannerAlightings" "bannerAverage"    "daily"
head(data1[1:5])
##         day       date orangeBoardings orangeAlightings orangeAverage
## 1    Monday 01/11/2010             877             1027         952.0
## 2   Tuesday 01/12/2010             777              815         796.0
## 3 Wednesday 01/13/2010            1203             1220        1211.5
## 4  Thursday 01/14/2010            1194             1233        1213.5
## 5    Friday 01/15/2010            1645             1643        1644.0
## 6  Saturday 01/16/2010            1457             1524        1490.5
#Editing data on orange

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
orange <- data1 %>% 
  filter(!is.na(orangeBoardings)) %>%
  select(orangeBoardings)
orange$boarding <- "orange"
head(orange)
##   orangeBoardings boarding
## 1             877   orange
## 2             777   orange
## 3            1203   orange
## 4            1194   orange
## 5            1645   orange
## 6            1457   orange
orange2 <- orange$boarding
orange2 <- as.data.frame(orange2)

library(dplyr)
orange2 <- rename(orange2, "boarding" = "orange2")
names(orange2)
## [1] "boarding"
head(orange2)
##   boarding
## 1   orange
## 2   orange
## 3   orange
## 4   orange
## 5   orange
## 6   orange
#Editing data on purple

purple <- data1 %>% 
  filter(!is.na(purpleBoardings)) %>%
  select(purpleBoardings)      
purple$boarding <- "purple"
head(purple)
##   purpleBoardings boarding
## 1            1028   purple
## 2            1327   purple
## 3            1726   purple
## 4            2044   purple
## 5            2230   purple
## 6            1852   purple
purple2 <- purple$boarding
purple2 <- as.data.frame(purple2)

library(dplyr)
purple2 <- rename(purple2, "boarding" = "purple2")
names(purple2)
## [1] "boarding"
head(purple2)
##   boarding
## 1   purple
## 2   purple
## 3   purple
## 4   purple
## 5   purple
## 6   purple
#Editing data on green

green <- data1 %>% 
  filter(!is.na(greenBoardings)) %>%
  select(greenBoardings)
green$boarding <- "green"
head(green)
##   greenBoardings boarding
## 1            887    green
## 2           1057    green
## 3           1142    green
## 4           1357    green
## 5            760    green
## 6            654    green
green2 <- green$boarding
green2 <- as.data.frame(green2)

library(dplyr)
green2 <- rename(green2, "boarding" = "green2")
names(green2)
## [1] "boarding"
head(green2)
##   boarding
## 1    green
## 2    green
## 3    green
## 4    green
## 5    green
## 6    green
#Editing data on banner

banner <- data1 %>% 
  filter(!is.na(bannerBoardings)) %>%
  select(bannerBoardings)
banner$boarding <- "banner"
head(banner)
##   bannerBoardings boarding
## 1             520   banner
## 2             574   banner
## 3             630   banner
## 4             670   banner
## 5             847   banner
## 6             987   banner
banner2 <- banner$boarding
banner2 <- as.data.frame(banner2)

library(dplyr)
banner2 <- rename(banner2, "boarding" = "banner2")
names(banner2)
## [1] "boarding"
head(banner2)
##   boarding
## 1   banner
## 2   banner
## 3   banner
## 4   banner
## 5   banner
## 6   banner
#Combine the data 

cc <- rbind(orange2,
            green2, 
            purple2,
            banner2)

# 1) Construct simple barchart for orangeBoardings, purpleBoardings,
#    greenBoardings, bannerBoardings

barplot(table(cc$boarding),
        main = "Bar chart showing the frequency of Boarding", 
        xlab = " category of boarding", 
        ylab = "frequency of boarding", 
        border =  NA, 
        col = c("lightblue", "lightgreen", "#FFFD96", "#FFFDC8"))

# 2) construct boxplot by group of day for orangeBoardings, PurpleBoardings,
#    greenBoardings, bannerBoardings. 

# boxplot for orangeBoardings
library(dplyr)
new <- data1 %>% 
  group_by(day) %>%
  summarise(orange = mean(orangeBoardings, na.rm=T), 
            purple = mean(purpleBoardings, na.rm= T), 
            green = mean(greenBoardings, na.rm=T), 
            banner = mean(bannerBoardings, na.rm=T))
new2 <- data1 %>% 
  group_by(day) %>%
  select(day, orangeBoardings)

boxplot(new2$orangeBoardings~new2$day)

#boxplot for purpleBoardings
new3 <- data1 %>%
  group_by(day) %>%
  select(day, purpleBoardings)

boxplot(new3$purpleBoardings~new3$day)

#boxplot for greenBoardings
new4 <- data1 %>%
  group_by(day) %>%
  select(day, greenBoardings)

boxplot(new4$greenBoardings~new4$day)

#boxplot for bannerBoardings
new5 <- data1 %>%
  group_by(day) %>%
  select(day, bannerBoardings)

boxplot(new5$bannerBoardings~new5$day)

#3) construct line chart for orangeBoardings, purpleBoardings, 
#   greenBoardings and BannerBoardings by date for month October 2010

new22 <- data1 %>% 
  group_by(date) %>%
  summarise(orange = mean(orangeBoardings, na.rm=T), 
            purple = mean(purpleBoardings, na.rm= T), 
            green = mean(greenBoardings, na.rm=T), 
            banner = mean(bannerBoardings, na.rm=T))

# Line chart for orangeBoardings

  new6 <- data1 %>%
  group_by(date) %>%
  select(date, orangeBoardings)

boxplot(new6$orangeBoardings~new6$date)

# Line chart for purpleBoardings

new7 <- data1 %>%
  group_by(date) %>%
  select(date, purpleBoardings)

boxplot(new7$purpleBoardings~new7$date)

# Line chart for greenBoardings

new8 <- data1 %>%
  group_by(date) %>%
  select(date, greenBoardings)

boxplot(new8$greenBoardings~new8$date)

# Line chart for bannerBoardings

new9 <- data1 %>%
  group_by(date) %>%
  select(date, bannerBoardings)

boxplot(new9$bannerBoardings~new9$date)