Pittsburghs Rivers





This lab uses dplyr pipe construct to display the average length of bridges that cross each of Pittsburgh’s 3 big rivers.




library(dplyr)


Get Data



bridges <- read.table("https://archive.ics.uci.edu/ml/machine-learning-databases/bridges/bridges.data.version1", h = F, sep = ",")

names(bridges)<-c("ident","river","location","erected","purpose", "length", "lanes","clear","t-or-d", "material", "span", "rel", "type")


Filter and Summarize



# Convert char to numeric
bridges$length<-as.numeric(bridges$length)


# filter out records with no length
# filter out if its not one of the 3 rivers

output<-bridges %>%
  filter(length != "?")  %>%
  filter(river =="O" | river == "M" || river == "A")  %>%
  mutate(river = ifelse(river == "M", "Monongahela",  ifelse(river == "A", "Allegheny", "Ohio"))) %>%
  mutate(length=as.numeric(length)) %>%
  group_by(river) %>%
  summarize(average_length =  mean(length), total_bridges=n())


Output results



options(digits = 1)

knitr::kable(output, caption='Bridges over the Three Rivers in Pittsburgh')
Bridges over the Three Rivers in Pittsburgh
river average_length total_bridges
Allegheny 1443 37
Monongahela 1521 32
Ohio 2075 12