Load libraries.

library(devtools)
library(RCurl)
## Loading required package: bitops
library(plyr)

Import file as CSV, check variables.

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

Rename column headers.

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

Select a subset by row.

How many wood bridges are over 100 years old?

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.

How many steel bridges are over 100 years old?

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.

Select a subset by column and row.

Show select information for new 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

Bar plots

What are the most common bridge materials in Pittsburgh?

barplot(table(y$V10), ylim=c(0,108),main="Pittsburgh Bridges by Material")

This makes sense considering Pittsburgh’s steel history.

How many bridges were built by year?

barplot(table(y$V4), ylim=c(0,10),main="Pittsburgh Bridges by Year")