library(devtools)
library(RCurl)
## Loading required package: bitops
library(plyr)
Data has no header row so we must indicate “header=F”.
x <- getURL("https://archive.ics.uci.edu/ml/machine-learning-databases/bridges/bridges.data.version1")
y<-data.frame(read.csv(text=x, header=F))
dim(y)
## [1] 108 13
head(y)
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
## 1 E1 M 3 1818 HIGHWAY ? 2 N THROUGH WOOD SHORT S WOOD
## 2 E2 A 25 1819 HIGHWAY 1037 2 N THROUGH WOOD SHORT S WOOD
## 3 E3 A 39 1829 AQUEDUCT ? 1 N THROUGH WOOD ? S WOOD
## 4 E5 A 29 1837 HIGHWAY 1000 2 N THROUGH WOOD SHORT S WOOD
## 5 E6 M 23 1838 HIGHWAY ? 2 N THROUGH WOOD ? S WOOD
## 6 E7 A 27 1840 HIGHWAY 990 2 N THROUGH WOOD MEDIUM S WOOD
head(rename(y,c("V1"="ID","V2"="River","V3"="Location","V4"="Erected","V5"="Purpose","V6"="Length", "V7"="Lanes", "V8"="Clear-G","V9"="T or D","V10"="Material","V11"="Span","V12"="Rel-L","V13"="Type")))
## ID River Location Erected Purpose Length Lanes Clear-G T or D Material
## 1 E1 M 3 1818 HIGHWAY ? 2 N THROUGH WOOD
## 2 E2 A 25 1819 HIGHWAY 1037 2 N THROUGH WOOD
## 3 E3 A 39 1829 AQUEDUCT ? 1 N THROUGH WOOD
## 4 E5 A 29 1837 HIGHWAY 1000 2 N THROUGH WOOD
## 5 E6 M 23 1838 HIGHWAY ? 2 N THROUGH WOOD
## 6 E7 A 27 1840 HIGHWAY 990 2 N THROUGH WOOD
## Span Rel-L Type
## 1 SHORT S WOOD
## 2 SHORT S WOOD
## 3 ? S WOOD
## 4 SHORT S WOOD
## 5 ? S WOOD
## 6 MEDIUM S WOOD
OldWoodenBridges<- subset(y, V4 <1915 & V10=="WOOD")
OldWoodenBridges
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
## 1 E1 M 3 1818 HIGHWAY ? 2 N THROUGH WOOD SHORT S WOOD
## 2 E2 A 25 1819 HIGHWAY 1037 2 N THROUGH WOOD SHORT S WOOD
## 3 E3 A 39 1829 AQUEDUCT ? 1 N THROUGH WOOD ? S WOOD
## 4 E5 A 29 1837 HIGHWAY 1000 2 N THROUGH WOOD SHORT S WOOD
## 5 E6 M 23 1838 HIGHWAY ? 2 N THROUGH WOOD ? S WOOD
## 6 E7 A 27 1840 HIGHWAY 990 2 N THROUGH WOOD MEDIUM S WOOD
## 9 E10 A 39 1848 AQUEDUCT ? 1 N DECK WOOD ? S WOOD
## 10 E11 A 29 1851 HIGHWAY 1000 2 N THROUGH WOOD MEDIUM S WOOD
## 11 E12 A 39 1853 RR ? 2 N DECK WOOD ? S WOOD
## 12 E14 M 6 1856 HIGHWAY 1200 2 N THROUGH WOOD MEDIUM S WOOD
## 13 E13 A 33 1856 HIGHWAY ? 2 N THROUGH WOOD ? S WOOD
## 14 E15 A 28 1857 RR ? 2 N THROUGH WOOD ? S WOOD
## 18 E19 A 29 1866 HIGHWAY 1000 2 N THROUGH WOOD MEDIUM S WOOD
## 19 E20 A 32 1870 HIGHWAY 1000 2 N THROUGH WOOD MEDIUM S WOOD
## 22 E22 A 24 1876 HIGHWAY 1200 4 G THROUGH WOOD SHORT S WOOD
## 39 E4 A 27 1892 AQUEDUCT 1092 1 N THROUGH WOOD SHORT S WOOD
summary(OldWoodenBridges)
## V1 V2 V3 V4 V5 V6
## E1 : 1 A:13 29 :3 Min. :1818 AQUEDUCT: 3 ? :7
## E10 : 1 M: 3 39 :3 1st Qu.:1838 HIGHWAY :11 1000 :4
## E11 : 1 O: 0 27 :2 Median :1852 RR : 2 1200 :2
## E12 : 1 Y: 0 23 :1 Mean :1850 WALK : 0 1037 :1
## E13 : 1 24 :1 3rd Qu.:1859 1092 :1
## E14 : 1 25 :1 Max. :1892 990 :1
## (Other):10 (Other):5 (Other):0
## V7 V8 V9 V10 V11 V12 V13
## ?: 0 ?: 0 ? : 0 ? : 0 ? :6 ? : 0 WOOD :16
## 1: 3 G: 1 DECK : 2 IRON : 0 LONG :0 F : 0 ? : 0
## 2:12 N:15 THROUGH:14 STEEL: 0 MEDIUM:5 S :16 ARCH : 0
## 4: 1 WOOD :16 SHORT :5 S-F: 0 CANTILEV: 0
## 6: 0 CONT-T : 0
## NIL : 0
## (Other) : 0
This returns 16 bridges.
OldSteelBridges<- subset(y, V4 <1915 & V10=="STEEL")
OldSteelBridges
## V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11 V12 V13
## 21 E23 M 1 1876 HIGHWAY 1245 ? ? THROUGH STEEL LONG F SUSPEN
## 23 E24 O 45 1878 RR ? 2 G ? STEEL ? ? SIMPLE-T
## 24 E25 M 10 1882 RR ? 2 G ? STEEL ? ? SIMPLE-T
## 25 E27 A 39 1883 RR ? 2 G THROUGH STEEL ? F SIMPLE-T
## 26 E26 M 12 1883 RR 1150 2 G THROUGH STEEL MEDIUM S SIMPLE-T
## 27 E30 A 31 1884 RR ? 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 28 E29 A 26 1884 HIGHWAY 1080 2 G THROUGH STEEL MEDIUM ? SUSPEN
## 29 E28 M 3 1884 HIGHWAY 1000 2 G THROUGH STEEL MEDIUM S ARCH
## 31 E31 M 8 1887 RR 1161 2 G THROUGH STEEL MEDIUM S SIMPLE-T
## 32 E34 O 41 1888 RR 4558 2 G THROUGH STEEL LONG F SIMPLE-T
## 35 E35 A 27 1890 HIGHWAY 1000 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 37 E37 M 18 1891 RR 1350 2 G THROUGH STEEL MEDIUM S SIMPLE-T
## 38 E39 A 25 1892 HIGHWAY ? 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 40 E40 M 22 1893 HIGHWAY ? 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 42 E42 M 9 1895 HIGHWAY 2367 2 G THROUGH STEEL LONG F SIMPLE-T
## 43 E44 O 48 1896 HIGHWAY ? 2 G THROUGH STEEL LONG F SUSPEN
## 44 E43 M 7 1896 HIGHWAY 1040 2 G THROUGH STEEL LONG F ARCH
## 45 E46 A 37 1897 RR 4000 2 G DECK STEEL LONG F SIMPLE-T
## 46 E45 M 14 1897 RR 2264 ? G THROUGH STEEL ? F SIMPLE-T
## 47 E47 M 15 1898 RR 2000 2 G THROUGH STEEL MEDIUM S SIMPLE-T
## 48 E58 A 33 1900 HIGHWAY 1200 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 49 E48 A 38 1900 HIGHWAY 2000 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 50 E94 M 13 1901 RR ? 2 G THROUGH STEEL LONG F SIMPLE-T
## 51 E49 A 34 1902 HIGHWAY 1850 2 G THROUGH STEEL MEDIUM F CANTILEV
## 52 E95 M 16 1903 RR 1300 2 G THROUGH STEEL MEDIUM S SIMPLE-T
## 53 E87 A 35 1903 RR 3000 2 G THROUGH STEEL MEDIUM S SIMPLE-T
## 54 E51 M 6 1903 RR 1417 2 G THROUGH STEEL MEDIUM F SIMPLE-T
## 55 E50 M 21 1903 RR 1154 ? G THROUGH STEEL LONG F SIMPLE-T
## 56 E89 M 4 1904 RR 1200 2 G THROUGH STEEL MEDIUM S-F SIMPLE-T
## 57 E53 A 28 1904 RR 965 4 G THROUGH STEEL MEDIUM S-F SIMPLE-T
## 58 E52 M 2 1904 RR 1504 ? G THROUGH STEEL LONG F CANTILEV
## 59 E54 Y ? 1908 HIGHWAY 1240 ? G ? STEEL MEDIUM F SIMPLE-T
## 60 E56 M 23 1909 HIGHWAY ? ? G THROUGH STEEL MEDIUM F SIMPLE-T
## 61 E55 A 36 1909 HIGHWAY 1730 2 G THROUGH STEEL LONG F SIMPLE-T
## 62 E57 O 49 1910 RR 1620 2 G THROUGH STEEL LONG F CANTILEV
## 63 E59 O 43 1911 HIGHWAY 1652 2 G THROUGH STEEL LONG F CANTILEV
## 64 E107 A 39 1914 RR ? ? G ? STEEL ? F NIL
## 65 E92 M 10 1914 RR 2210 ? G THROUGH STEEL MEDIUM F SIMPLE-T
summary(OldSteelBridges)
## V1 V2 V3 V4 V5
## E107 : 1 A:13 10 : 2 Min. :1876 AQUEDUCT: 0
## E23 : 1 M:19 39 : 2 1st Qu.:1888 HIGHWAY :16
## E24 : 1 O: 5 ? : 1 Median :1898 RR :22
## E25 : 1 Y: 1 1 : 1 Mean :1897 WALK : 0
## E26 : 1 12 : 1 3rd Qu.:1904
## E27 : 1 13 : 1 Max. :1914
## (Other):32 (Other):30
## V6 V7 V8 V9 V10 V11 V12
## ? :10 ?: 8 ?: 1 ? : 4 ? : 0 ? : 5 ? : 3
## 1000 : 2 1: 0 G:37 DECK : 1 IRON : 0 LONG :12 F :26
## 1200 : 2 2:29 N: 0 THROUGH:33 STEEL:38 MEDIUM:21 S : 7
## 2000 : 2 4: 1 WOOD : 0 SHORT : 0 S-F: 2
## 1040 : 1 6: 0
## 1080 : 1
## (Other):20
## V13
## SIMPLE-T:28
## CANTILEV: 4
## SUSPEN : 3
## ARCH : 2
## NIL : 1
## ? : 0
## (Other) : 0
This returns 38 bridges.
NewBridges<-subset(y,V4>1960,select=c(V1,V4,V9,V10,V11,V13))
NewBridges
## V1 V4 V9 V10 V11 V13
## 102 E86 1961 DECK STEEL MEDIUM CONT-T
## 103 E85 1962 DECK STEEL LONG CONT-T
## 104 E84 1969 THROUGH STEEL MEDIUM ARCH
## 105 E91 1975 THROUGH STEEL LONG ARCH
## 106 E90 1978 THROUGH STEEL LONG ARCH
## 107 E100 1982 ? ? ? ?
## 108 E109 1986 ? ? ? ?
summary(NewBridges)
## V1 V4 V9 V10 V11 V13
## E100 :1 Min. :1961 ? :2 ? :2 ? :2 ARCH :3
## E109 :1 1st Qu.:1966 DECK :2 IRON :0 LONG :3 ? :2
## E84 :1 Median :1975 THROUGH:3 STEEL:5 MEDIUM:2 CONT-T :2
## E85 :1 Mean :1973 WOOD :0 SHORT :0 CANTILEV:0
## E86 :1 3rd Qu.:1980 NIL :0
## E90 :1 Max. :1986 SIMPLE-T:0
## (Other):1 (Other) :0
barplot(table(y$V10), ylim=c(0,108),main="Pittsburgh Bridges by Material")
This makes sense considering Pittsburgh’s steel history.
barplot(table(y$V4), ylim=c(0,10),main="Pittsburgh Bridges by Year")