Read in data and Inspect original values of the last 4 Columns
bikeshare <- read.csv(
file = "NYC-2016-Summary.csv",
header = TRUE,
stringsAsFactors = FALSE
)
str(bikeshare)
## 'data.frame': 276798 obs. of 5 variables:
## $ duration : num 13.98 11.43 5.25 12.32 20.88 ...
## $ month : int 1 1 1 1 1 1 1 1 1 1 ...
## $ hour : int 0 0 0 0 0 0 0 1 1 1 ...
## $ day_of_week: chr "Friday" "Friday" "Friday" "Friday" ...
## $ user_type : chr "Customer" "Subscriber" "Subscriber" "Subscriber" ...
unique(bikeshare$month)
## [1] 1 2 3 4 5 6 7 8 9 10 11 12
unique(bikeshare$hour)
## [1] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
unique(bikeshare$day_of_week)
## [1] "Friday" "Saturday" "Sunday" "Monday" "Tuesday" "Wednesday"
## [7] "Thursday"
unique(bikeshare$user_type)
## [1] "Customer" "Subscriber" ""
Convert month into a Factor with 3-letter Labels and Check
bikeshare$month <- factor(
bikeshare$month,
levels = 1:12,
labels = c(
"Jan", "Feb", "Mar", "Apr",
"May", "Jun", "Jul", "Aug",
"Sep", "Oct", "Nov", "Dec"
)
)
levels(bikeshare$month)
## [1] "Jan" "Feb" "Mar" "Apr" "May" "Jun" "Jul" "Aug" "Sep" "Oct" "Nov" "Dec"
Convert Hour to Time of Day and Check
hour_labels <- c(
"12 AM", "1 AM", "2 AM", "3 AM",
"4 AM", "5 AM", "6 AM", "7 AM",
"8 AM", "9 AM", "10 AM", "11 AM",
"12 PM", "1 PM", "2 PM", "3 PM",
"4 PM", "5 PM", "6 PM", "7 PM",
"8 PM", "9 PM", "10 PM", "11 PM"
)
bikeshare$hour <- factor(
bikeshare$hour,
levels = 0:23,
labels = hour_labels
)
levels(bikeshare$hour)
## [1] "12 AM" "1 AM" "2 AM" "3 AM" "4 AM" "5 AM" "6 AM" "7 AM" "8 AM"
## [10] "9 AM" "10 AM" "11 AM" "12 PM" "1 PM" "2 PM" "3 PM" "4 PM" "5 PM"
## [19] "6 PM" "7 PM" "8 PM" "9 PM" "10 PM" "11 PM"
Convert Day of the Week to Factor and Check
- I changed the labels to be ordered Monday - Sunday as opposed to
Friday - Thursday
bikeshare$day_of_week <- factor(
bikeshare$day_of_week,
levels = c(
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday",
"Sunday"
)
)
levels(bikeshare$day_of_week)
## [1] "Monday" "Tuesday" "Wednesday" "Thursday" "Friday" "Saturday"
## [7] "Sunday"
Convert User Type to Factor and Check
bikeshare$user_type <- factor(
bikeshare$user_type
)
levels(bikeshare$user_type)
## [1] "" "Customer" "Subscriber"
str(bikeshare)
## 'data.frame': 276798 obs. of 5 variables:
## $ duration : num 13.98 11.43 5.25 12.32 20.88 ...
## $ month : Factor w/ 12 levels "Jan","Feb","Mar",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ hour : Factor w/ 24 levels "12 AM","1 AM",..: 1 1 1 1 1 1 1 2 2 2 ...
## $ day_of_week: Factor w/ 7 levels "Monday","Tuesday",..: 5 5 5 5 5 5 5 5 5 5 ...
## $ user_type : Factor w/ 3 levels "","Customer",..: 2 3 3 3 2 3 3 3 3 2 ...