morph <- read.table("OASV2_BodyLengthMeasurements_Oct2016.csv", header = TRUE, sep = ",", stringsAsFactors = FALSE)
str(morph)
## 'data.frame':    588 obs. of  5 variables:
##  $ ID         : chr  "L1" "L2" "L3" "L4" ...
##  $ pH         : num  7 7 7 7 7 7 7 7 7 7 ...
##  $ Condition  : chr  "static" "static" "static" "static" ...
##  $ Vessel_ID  : chr  "V02" "V02" "V02" "V02" ...
##  $ Body_Length: num  184 227 153 174 165 ...
summary(morph)
##       ID                  pH         Condition          Vessel_ID        
##  Length:588         Min.   :7.000   Length:588         Length:588        
##  Class :character   1st Qu.:7.000   Class :character   Class :character  
##  Mode  :character   Median :7.500   Mode  :character   Mode  :character  
##                     Mean   :7.557                                        
##                     3rd Qu.:8.000                                        
##                     Max.   :8.000                                        
##   Body_Length   
##  Min.   :125.4  
##  1st Qu.:214.7  
##  Median :257.6  
##  Mean   :258.7  
##  3rd Qu.:306.6  
##  Max.   :395.4
table(morph$Condition)
## 
##   static variable 
##      257      331
head(morph)
##   ID pH Condition Vessel_ID Body_Length
## 1 L1  7    static       V02     184.434
## 2 L2  7    static       V02     227.423
## 3 L3  7    static       V02     152.984
## 4 L4  7    static       V02     174.072
## 5 L5  7    static       V02     164.587
## 6 L6  7    static       V02     177.440
tail(morph)
##       ID pH Condition Vessel_ID Body_Length
## 583 L583  8  variable       V35     303.587
## 584 L584  8  variable       V35     310.004
## 585 L585  8  variable       V35     315.787
## 586 L586  8  variable       V35     310.040
## 587 L587  8  variable       V35     276.373
## 588 L588  8  variable       V35     280.316