Oh Tree
AADT
library(rpart)
# Complex tree
library(sparkline)
library(data.table)
require(visNetwork, quietly = TRUE)
setwd("C:/Users/s-das/Syncplicity/MyProjects_IMP/MY_Papers_V2/TRB 2021/EScotter_BayesianRule/")
it01 <- fread("IT_aadtMaster.csv")## Warning in require_bit64_if_needed(ans): Some columns are type 'integer64'
## but package bit64 is not installed. Those columns will print as strange
## looking floating point data. There is no need to reload the data. Simply
## install.packages('bit64') to obtain the integer64 print method and print the
## data again.
mn= subset(it01, State=="MN")
mn01 <- mn[, c("FC_RU", "Default_AADT", "HU", "Pop" ,"C_Pop", "C_HU" , "Pop_Empl",
"WAC", "RAC", "Agg_Inc", "Agg_Veh", "Empl" )]
mn02= na.omit(mn01)
res <- rpart(FC_RU~., data = mn02, control = rpart.control(cp = 0.0009))
visTree(res, height = "800px", nodesPopSize = TRUE, minNodeSize = 10, maxNodeSize = 30)mn= subset(it01, State=="NM")
mn01 <- mn[, c("FC_RU", "Default_AADT", "HU", "Pop" ,"C_Pop", "C_HU" , "Pop_Empl",
"WAC", "RAC", "Agg_Inc", "Agg_Veh", "Empl" )]
mn02= na.omit(mn01)
res <- rpart(FC_RU~., data = mn02, control = rpart.control(cp = 0.0001))
visTree(res, height = "800px", nodesPopSize = TRUE, minNodeSize = 10, maxNodeSize = 30)Severity Type–Example 1
setwd("C:/Users/s-das/Syncplicity/MyProjects_IMP/MY_Papers_V2/TRB 2021/EScotter_BayesianRule/")
it01 <- read.csv("EScotter_Fin2.csv", header=T, na.strings=c("","NA"))
names(it01)## [1] "CRASH_NUM1" "NARRATIVE" "ACCESS_CNTL_CD"
## [4] "ALIGNMENT_CD" "HWY_TYPE_CD" "INVEST_AGENCY_CD"
## [7] "LIGHTING_CD" "LOC_TYPE_CD" "MAN_COLL_CD"
## [10] "PRI_CONTRIB_FAC_CD" "ROAD_COND_CD" "ROAD_REL_CD"
## [13] "ROAD_TYPE_CD" "SEC_CONTRIB_FAC_CD" "SEVERITY_CD"
## [16] "SURF_COND_CD" "SURF_TYPE_CD" "WEATHER_CD"
## [19] "CRASH_DATE" "CRASH_TIME" "CR_MONTH"
## [22] "CR_HOUR" "DAY_OF_WK" "INTERSECTION"
## [25] "NUM_VEH" "LAT" "LONG"
## [28] "PARISH_CD" "CITY_CD" "TIME_AMB_ARR"
## [31] "TIME_AMB_ARR_HOSP" "HIT_AND_RUN"
mn01 <- it01[, c("SEVERITY_CD", "DAY_OF_WK", "LIGHTING_CD", "HWY_TYPE_CD", "WEATHER_CD", "CR_HOUR",
"NUM_VEH")]
mn02= mn01[complete.cases(mn01),]
dim(mn02)## [1] 332 7
## 'data.frame': 332 obs. of 7 variables:
## $ SEVERITY_CD: Factor w/ 5 levels "A","B","C","D",..: 3 4 4 3 2 2 3 4 2 4 ...
## $ DAY_OF_WK : Factor w/ 7 levels "FR","MO","SA",..: 3 6 3 7 6 6 7 7 4 4 ...
## $ LIGHTING_CD: Factor w/ 7 levels "A","B","C","D",..: 3 1 1 1 1 1 1 4 3 1 ...
## $ HWY_TYPE_CD: Factor w/ 5 levels "A","B","C","D",..: 5 4 3 3 5 5 4 3 5 4 ...
## $ WEATHER_CD : Factor w/ 5 levels "A","B","C","D",..: 1 1 1 1 1 1 1 2 2 1 ...
## $ CR_HOUR : int 2 16 14 16 11 20 19 22 20 14 ...
## $ NUM_VEH : int 2 2 1 2 2 2 1 1 1 1 ...
mn02$CR_HOUR = as.factor(mn02$CR_HOUR)
mn02$NUM_VEH = as.factor(mn02$NUM_VEH)
res <- rpart(SEVERITY_CD~., data = mn02, control = rpart.control(cp = 0.0009))
visTree(res, height = "800px", nodesPopSize = TRUE, minNodeSize = 10, maxNodeSize = 30)setwd("C:/Users/s-das/Syncplicity/MyProjects_IMP/MY_Papers_V2/TRB 2021/EScotter_BayesianRule/")
it01 <- read.csv("EScotter_Fin3.csv", header=T, na.strings=c("","NA"))
names(it01)## [1] "CRASH_NUM1" "LIGHTING_CD" "LOC_TYPE_CD" "MAN_COLL_CD"
## [5] "WEATHER_CD" "CR_HOUR" "DAY_OF_WK" "INTERSECTION"
## [9] "NUM_VEH" "DR_COND_CD" "DR_DISTRACT_CD" "VIOLATIONS_CD"
## [13] "POSTED_SPEED" "SEVERITY_CD1" "SEVERITY_CD"
mn01 <- it01[, c("SEVERITY_CD", "DAY_OF_WK", "LIGHTING_CD", "LOC_TYPE_CD" ,"WEATHER_CD", "CR_HOUR",
"NUM_VEH")]
mn02= mn01[complete.cases(mn01),]
dim(mn02)## [1] 572 7
## 'data.frame': 572 obs. of 7 variables:
## $ SEVERITY_CD: Factor w/ 5 levels "A","B","C","D",..: 3 3 4 4 4 3 3 2 2 2 ...
## $ DAY_OF_WK : Factor w/ 7 levels "FR","MO","SA",..: 3 3 6 6 3 7 7 6 6 6 ...
## $ LIGHTING_CD: Factor w/ 7 levels "A","B","C","D",..: 3 3 1 1 1 1 1 1 1 1 ...
## $ LOC_TYPE_CD: Factor w/ 8 levels "A","B","C","D",..: 4 4 4 4 3 3 3 3 3 4 ...
## $ WEATHER_CD : Factor w/ 5 levels "A","B","C","D",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ CR_HOUR : Factor w/ 6 levels "12-Sep","13-16",..: 5 5 2 2 2 2 2 1 1 3 ...
## $ NUM_VEH : Factor w/ 2 levels "M","S": 1 1 1 1 2 1 1 1 1 1 ...
mn02$CR_HOUR = as.factor(mn02$CR_HOUR)
mn02$NUM_VEH = as.factor(mn02$NUM_VEH)
res <- rpart(SEVERITY_CD~., data = mn02, control = rpart.control(cp = 0.0009))
visTree(res, height = "800px", nodesPopSize = TRUE, minNodeSize = 10, maxNodeSize = 30)