Very bare bones code, but a reasonable way to start. Other work that should be done: rename column headers; change codes for other rivers from “O” to “Ohio” and “M” to “Monongahela”, etc.
#install.packages("RCurl")
library(RCurl)
## Loading required package: bitops
url <- "https://archive.ics.uci.edu/ml/machine-learning-databases/bridges/bridges.data.version2"
bridge_data <-getURL(url)
#getwd()
bridge_df <- read.csv(text=bridge_data,header=F,sep=",", stringsAsFactors = FALSE)
#bridge_df
head(bridge_df)
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
## 1 E1 M 3 CRAFTS HIGHWAY ? 2 N THROUGH WOOD SHORT S WOOD
## 2 E2 A 25 CRAFTS HIGHWAY MEDIUM 2 N THROUGH WOOD SHORT S WOOD
## 3 E3 A 39 CRAFTS AQUEDUCT ? 1 N THROUGH WOOD ? S WOOD
## 4 E5 A 29 CRAFTS HIGHWAY MEDIUM 2 N THROUGH WOOD SHORT S WOOD
## 5 E6 M 23 CRAFTS HIGHWAY ? 2 N THROUGH WOOD ? S WOOD
## 6 E7 A 27 CRAFTS HIGHWAY SHORT 2 N THROUGH WOOD MEDIUM S WOOD
str(bridge_df)
## 'data.frame': 108 obs. of 13 variables:
## $ V1 : chr "E1" "E2" "E3" "E5" ...
## $ V2 : chr "M" "A" "A" "A" ...
## $ V3 : chr "3" "25" "39" "29" ...
## $ V4 : chr "CRAFTS" "CRAFTS" "CRAFTS" "CRAFTS" ...
## $ V5 : chr "HIGHWAY" "HIGHWAY" "AQUEDUCT" "HIGHWAY" ...
## $ V6 : chr "?" "MEDIUM" "?" "MEDIUM" ...
## $ V7 : chr "2" "2" "1" "2" ...
## $ V8 : chr "N" "N" "N" "N" ...
## $ V9 : chr "THROUGH" "THROUGH" "THROUGH" "THROUGH" ...
## $ V10: chr "WOOD" "WOOD" "WOOD" "WOOD" ...
## $ V11: chr "SHORT" "SHORT" "?" "SHORT" ...
## $ V12: chr "S" "S" "S" "S" ...
## $ V13: chr "WOOD" "WOOD" "WOOD" "WOOD" ...
bridge_df <- bridge_df[,c(2,6,7)]
#View(bridge_df)
# Three rivers are: Allegheny, Monongahela, Ohio
# Note that to get this code to work, we needed to go back to our read.csv,
# and add stringsAsFactors = FALSE
bridge_df$V2[bridge_df$V2=="A"] <- "Allegheny"
#View(bridge_df)
str(bridge_df)
## 'data.frame': 108 obs. of 3 variables:
## $ V2: chr "M" "Allegheny" "Allegheny" "Allegheny" ...
## $ V6: chr "?" "MEDIUM" "?" "MEDIUM" ...
## $ V7: chr "2" "2" "1" "2" ...