# Load package
library(readxl)
# Excel file
Roundabouts <- read_excel("Raw data Roundabout copy.xlsx")
Roundabouts
## # A tibble: 27,887 × 18
## name address town_city county_area state_region country lat long type
## <chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <chr>
## 1 Arapah… Boulde… Boulder Boulder Co. CO United… -105. 40.0 Traf…
## 2 Arapah… Boulde… Boulder Boulder Co. CO United… -105. 40.0 Traf…
## 3 10th A… Belmar… Belmar Monmouth C… NJ United… -74.0 40.2 Traf…
## 4 10th A… Belmar… Belmar Monmouth C… NJ United… -74.0 40.2 Traf…
## 5 Bagley… Seattl… Seattle King Co. WA United… -122. 47.7 Traf…
## 6 8th Av… Seattl… Seattle King Co. WA United… -122. 47.7 Traf…
## 7 8th Av… Seattl… Seattle King Co. WA United… -122. 47.7 Traf…
## 8 8th Av… Seattl… Seattle King Co. WA United… -122. 47.7 Traf…
## 9 Kendal… Madiso… Madison Dane Co. WI United… -89.4 43.1 Traf…
## 10 Bagley… Seattl… Seattle King Co. WA United… -122. 47.7 Traf…
## # ℹ 27,877 more rows
## # ℹ 9 more variables: status <chr>, year_completed <dbl>, approaches <dbl>,
## # driveways <dbl>, lane_type <chr>, functional_class <chr>,
## # control_type <chr>, other_control_type <chr>, previous_control_type <chr>
Roundabouts %>%
mutate(lane_type = as.factor(lane_type)) %>%
distinct(lane_type)
## # A tibble: 9 × 1
## lane_type
## <fct>
## 1 Single-Lane
## 2 Unknown
## 3 Single-lane w/ Traversable Central Island
## 4 Multilane (2 Lane, unspecified)
## 5 Multilane (3+ Lane)
## 6 Ring junction (3+ mini-roundabouts in ring)
## 7 Multilane (2+ lanes) w/ Traversable Central Island
## 8 Multilane (2 Lane, 2x1 max)
## 9 Multilane (2 Lane, 2x2 max)
Make two bar charts here - one before ordering another after
Roundabouts %>%
ggplot(aes(x = lane_type)) +
geom_bar()
Roundabouts %>%
ggplot(aes(x = fct_infreq(lane_type))) +
geom_bar() +
labs(x = "Lane Type", y = "Number of Roundabouts")
Show examples of three functions:
Roundabouts %>% distinct(lane_type)
## # A tibble: 9 × 1
## lane_type
## <chr>
## 1 Single-Lane
## 2 Unknown
## 3 Single-lane w/ Traversable Central Island
## 4 Multilane (2 Lane, unspecified)
## 5 Multilane (3+ Lane)
## 6 Ring junction (3+ mini-roundabouts in ring)
## 7 Multilane (2+ lanes) w/ Traversable Central Island
## 8 Multilane (2 Lane, 2x1 max)
## 9 Multilane (2 Lane, 2x2 max)
Roundabouts %>%
mutate(lane_type_rev = fct_recode(lane_type, "Single Lane" = "Single-Lane")) %>%
select(lane_type, lane_type_rev) %>%
filter(lane_type == "Single-Lane")
## # A tibble: 18,288 × 2
## lane_type lane_type_rev
## <chr> <fct>
## 1 Single-Lane Single Lane
## 2 Single-Lane Single Lane
## 3 Single-Lane Single Lane
## 4 Single-Lane Single Lane
## 5 Single-Lane Single Lane
## 6 Single-Lane Single Lane
## 7 Single-Lane Single Lane
## 8 Single-Lane Single Lane
## 9 Single-Lane Single Lane
## 10 Single-Lane Single Lane
## # ℹ 18,278 more rows
Roundabouts %>%
mutate(lane_type_col = fct_collapse(lane_type,
"Multilane" = c("Multilane (2 Lane, unspecified)",
"Multilane (3+ Lane)",
"Multilane (2 Lane, 2x2 max)",
"Multilane (2 Lane, 2x1 max)",
"Multilane (2+ lanes) w/ Traversable Central Island"))) %>%
select(lane_type, lane_type_col) %>%
filter(lane_type != "Single-Lane")
## # A tibble: 9,599 × 2
## lane_type lane_type_col
## <chr> <fct>
## 1 Unknown Unknown
## 2 Unknown Unknown
## 3 Unknown Unknown
## 4 Unknown Unknown
## 5 Unknown Unknown
## 6 Unknown Unknown
## 7 Unknown Unknown
## 8 Unknown Unknown
## 9 Unknown Unknown
## 10 Unknown Unknown
## # ℹ 9,589 more rows
Roundabouts %>% count(lane_type)
## # A tibble: 9 × 2
## lane_type n
## <chr> <int>
## 1 Multilane (2 Lane, 2x1 max) 333
## 2 Multilane (2 Lane, 2x2 max) 428
## 3 Multilane (2 Lane, unspecified) 6122
## 4 Multilane (2+ lanes) w/ Traversable Central Island 8
## 5 Multilane (3+ Lane) 672
## 6 Ring junction (3+ mini-roundabouts in ring) 4
## 7 Single-Lane 18288
## 8 Single-lane w/ Traversable Central Island 763
## 9 Unknown 1269
Roundabouts %>%
mutate(lane_type_lump = fct_lump(lane_type)) %>%
distinct(lane_type_lump)
## # A tibble: 2 × 1
## lane_type_lump
## <fct>
## 1 Single-Lane
## 2 Other
No need to do anything here.