Traffic_Crashes_Crashes <- read_csv(
"C:/Users/mhe29/OneDrive - Drexel University/CJS 310 R Files/Traffic_Crashes_-_Crashes.csv"
)
## Rows: 1030368 Columns: 48
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (31): CRASH_RECORD_ID, CRASH_DATE_EST_I, CRASH_DATE, TRAFFIC_CONTROL_DEV...
## dbl (17): POSTED_SPEED_LIMIT, LANE_CNT, STREET_NO, BEAT_OF_OCCURRENCE, NUM_U...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
names(Traffic_Crashes_Crashes)
## [1] "CRASH_RECORD_ID" "CRASH_DATE_EST_I"
## [3] "CRASH_DATE" "POSTED_SPEED_LIMIT"
## [5] "TRAFFIC_CONTROL_DEVICE" "DEVICE_CONDITION"
## [7] "WEATHER_CONDITION" "LIGHTING_CONDITION"
## [9] "FIRST_CRASH_TYPE" "TRAFFICWAY_TYPE"
## [11] "LANE_CNT" "ALIGNMENT"
## [13] "ROADWAY_SURFACE_COND" "ROAD_DEFECT"
## [15] "REPORT_TYPE" "CRASH_TYPE"
## [17] "INTERSECTION_RELATED_I" "NOT_RIGHT_OF_WAY_I"
## [19] "HIT_AND_RUN_I" "DAMAGE"
## [21] "DATE_POLICE_NOTIFIED" "PRIM_CONTRIBUTORY_CAUSE"
## [23] "SEC_CONTRIBUTORY_CAUSE" "STREET_NO"
## [25] "STREET_DIRECTION" "STREET_NAME"
## [27] "BEAT_OF_OCCURRENCE" "PHOTOS_TAKEN_I"
## [29] "STATEMENTS_TAKEN_I" "DOORING_I"
## [31] "WORK_ZONE_I" "WORK_ZONE_TYPE"
## [33] "WORKERS_PRESENT_I" "NUM_UNITS"
## [35] "MOST_SEVERE_INJURY" "INJURIES_TOTAL"
## [37] "INJURIES_FATAL" "INJURIES_INCAPACITATING"
## [39] "INJURIES_NON_INCAPACITATING" "INJURIES_REPORTED_NOT_EVIDENT"
## [41] "INJURIES_NO_INDICATION" "INJURIES_UNKNOWN"
## [43] "CRASH_HOUR" "CRASH_DAY_OF_WEEK"
## [45] "CRASH_MONTH" "LATITUDE"
## [47] "LONGITUDE" "LOCATION"
nrow(Traffic_Crashes_Crashes)
## [1] 1030368
Traffic_Crashes_Crashes%>%
count(PRIM_CONTRIBUTORY_CAUSE, sort = TRUE)
## # A tibble: 40 × 2
## PRIM_CONTRIBUTORY_CAUSE n
## <chr> <int>
## 1 UNABLE TO DETERMINE 405615
## 2 FAILING TO YIELD RIGHT-OF-WAY 114750
## 3 FOLLOWING TOO CLOSELY 98548
## 4 NOT APPLICABLE 53330
## 5 IMPROPER OVERTAKING/PASSING 51925
## 6 FAILING TO REDUCE SPEED TO AVOID CRASH 43180
## 7 IMPROPER BACKING 38795
## 8 IMPROPER LANE USAGE 36377
## 9 DRIVING SKILLS/KNOWLEDGE/EXPERIENCE 35885
## 10 IMPROPER TURNING/NO SIGNAL 34569
## # ℹ 30 more rows
summary(Traffic_Crashes_Crashes)
## CRASH_RECORD_ID CRASH_DATE_EST_I CRASH_DATE POSTED_SPEED_LIMIT
## Length:1030368 Length:1030368 Length:1030368 Min. : 0.00
## Class :character Class :character Class :character 1st Qu.:30.00
## Mode :character Mode :character Mode :character Median :30.00
## Mean :28.42
## 3rd Qu.:30.00
## Max. :99.00
##
## TRAFFIC_CONTROL_DEVICE DEVICE_CONDITION WEATHER_CONDITION
## Length:1030368 Length:1030368 Length:1030368
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## LIGHTING_CONDITION FIRST_CRASH_TYPE TRAFFICWAY_TYPE LANE_CNT
## Length:1030368 Length:1030368 Length:1030368 Min. :0.000e+00
## Class :character Class :character Class :character 1st Qu.:2.000e+00
## Mode :character Mode :character Mode :character Median :2.000e+00
## Mean :1.333e+01
## 3rd Qu.:4.000e+00
## Max. :1.192e+06
## NA's :831328
## ALIGNMENT ROADWAY_SURFACE_COND ROAD_DEFECT REPORT_TYPE
## Length:1030368 Length:1030368 Length:1030368 Length:1030368
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## CRASH_TYPE INTERSECTION_RELATED_I NOT_RIGHT_OF_WAY_I
## Length:1030368 Length:1030368 Length:1030368
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## HIT_AND_RUN_I DAMAGE DATE_POLICE_NOTIFIED
## Length:1030368 Length:1030368 Length:1030368
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## PRIM_CONTRIBUTORY_CAUSE SEC_CONTRIBUTORY_CAUSE STREET_NO
## Length:1030368 Length:1030368 Min. : 0
## Class :character Class :character 1st Qu.: 1258
## Mode :character Mode :character Median : 3201
## Mean : 3686
## 3rd Qu.: 5555
## Max. :451100
##
## STREET_DIRECTION STREET_NAME BEAT_OF_OCCURRENCE PHOTOS_TAKEN_I
## Length:1030368 Length:1030368 Min. : 111 Length:1030368
## Class :character Class :character 1st Qu.: 722 Class :character
## Mode :character Mode :character Median :1213 Mode :character
## Mean :1248
## 3rd Qu.:1822
## Max. :6100
## NA's :5
## STATEMENTS_TAKEN_I DOORING_I WORK_ZONE_I WORK_ZONE_TYPE
## Length:1030368 Length:1030368 Length:1030368 Length:1030368
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## WORKERS_PRESENT_I NUM_UNITS MOST_SEVERE_INJURY INJURIES_TOTAL
## Length:1030368 Min. : 1.000 Length:1030368 Min. : 0.0000
## Class :character 1st Qu.: 2.000 Class :character 1st Qu.: 0.0000
## Mode :character Median : 2.000 Mode :character Median : 0.0000
## Mean : 2.035 Mean : 0.1981
## 3rd Qu.: 2.000 3rd Qu.: 0.0000
## Max. :18.000 Max. :21.0000
## NA's :2223
## INJURIES_FATAL INJURIES_INCAPACITATING INJURIES_NON_INCAPACITATING
## Min. :0.00000 Min. : 0.00000 Min. : 0.0000
## 1st Qu.:0.00000 1st Qu.: 0.00000 1st Qu.: 0.0000
## Median :0.00000 Median : 0.00000 Median : 0.0000
## Mean :0.00115 Mean : 0.01913 Mean : 0.1098
## 3rd Qu.:0.00000 3rd Qu.: 0.00000 3rd Qu.: 0.0000
## Max. :4.00000 Max. :10.00000 Max. :21.0000
## NA's :2223 NA's :2223 NA's :2223
## INJURIES_REPORTED_NOT_EVIDENT INJURIES_NO_INDICATION INJURIES_UNKNOWN
## Min. : 0.0000 Min. : 0.000 Min. :0
## 1st Qu.: 0.0000 1st Qu.: 1.000 1st Qu.:0
## Median : 0.0000 Median : 2.000 Median :0
## Mean : 0.0681 Mean : 1.996 Mean :0
## 3rd Qu.: 0.0000 3rd Qu.: 2.000 3rd Qu.:0
## Max. :19.0000 Max. :61.000 Max. :0
## NA's :2223 NA's :2223 NA's :2223
## CRASH_HOUR CRASH_DAY_OF_WEEK CRASH_MONTH LATITUDE
## Min. : 0.00 Min. :1.000 Min. : 1.000 Min. : 0.00
## 1st Qu.: 9.00 1st Qu.:2.000 1st Qu.: 4.000 1st Qu.:41.78
## Median :14.00 Median :4.000 Median : 7.000 Median :41.88
## Mean :13.19 Mean :4.118 Mean : 6.671 Mean :41.86
## 3rd Qu.:17.00 3rd Qu.:6.000 3rd Qu.:10.000 3rd Qu.:41.92
## Max. :23.00 Max. :7.000 Max. :12.000 Max. :42.02
## NA's :7856
## LONGITUDE LOCATION
## Min. :-87.94 Length:1030368
## 1st Qu.:-87.72 Class :character
## Median :-87.67 Mode :character
## Mean :-87.67
## 3rd Qu.:-87.63
## Max. : 0.00
## NA's :7856
Traffic_Crashes_Crashes$CRASH_DATE <-
mdy_hms(Traffic_Crashes_Crashes$CRASH_DATE)
Traffic_Crashes_Crashes %>%
mutate(year = year(CRASH_DATE)) %>%
count(year) %>%
ggplot(aes(x = year, y = n)) +
geom_line() +
geom_point() +
labs(title = "Number of Traffic Crashes by Year",
x = "Year",
y = "Number of Crashes")
This graph shows the total number of crashes occurring each year. It
helps us identify trends over time, such as increases, decreases, or
stability in crash frequency. If there is a noticeable spike or drop in
certain years, it can show enforcement efforts and COVID-related traffic
changes. This can help analysis by showing we may need to control for
year effects when examining injuries or crash causes.
Traffic_Crashes_Crashes %>%
count(PRIM_CONTRIBUTORY_CAUSE, sort = TRUE) %>%
slice_head(n = 10) %>%
ggplot(aes(x = reorder(PRIM_CONTRIBUTORY_CAUSE, n), y = n)) +
geom_col() +
coord_flip() +
labs(title = "Top 10 Primary Contributory Causes of Crashes",
x = "Cause",
y = "Number of Crashes")
This chart shows the most common causes of traffic crashes. It
highlights which behaviors are more commonly associated with crashes,
such as failure to yield, speeding, or improper lane usage. This
visualization helps research by identifying which factors deserve deeper
analysis. For example, we may want to examine whether certain causes are
more likely to result in injuries or whether they vary by speed limit or
location.
Traffic_Crashes_Crashes %>%
group_by(POSTED_SPEED_LIMIT) %>%
summarise(avg_injuries = mean(INJURIES_TOTAL, na.rm = TRUE)) %>%
ggplot(aes(x = POSTED_SPEED_LIMIT, y = avg_injuries)) +
geom_point() +
geom_line() +
labs(title = "Posted Speed Limit vs Average Injuries",
x = "Posted Speed Limit",
y = "Average Number of Injuries")
This plot examines the posted speed limits versus the average number of
injuries per crash. If the visualization shows an upward trend, it
suggests that higher speed limits are associated with more severe
crashes. This helps analysis by showing that speed may be an important
predictor variable in regression models examining crash severity.