setwd("C:/Users/theco/Desktop")
library(plotrix)
library(car)
## Warning: package 'car' was built under R version 3.3.3
Nutrients <- read.csv("nutrientsF.csv")
Nutrients
##                              Sample.ID Treatment chamber    cockles
## 1   MARI301_Block1_Light_Black_Initial     black   Light no cockles
## 2    MARI301_Block1_Light_Blue_Initial      blue   Light    cockles
## 3   MARI301_Block1_Light_Green_Initial     green   Light    cockles
## 4  MARI301_Block1_Light_Yellow_Initial    yellow   Light no cockles
## 5    MARI301_Block1_Dark_Black_Initial     black    Dark no cockles
## 6     MARI301_Block1_Dark_Blue_Initial      blue    Dark    cockles
## 7    MARI301_Block1_Dark_Green_Initial     green    Dark    cockles
## 8   MARI301_Block1_Dark_Yellow_Initial    yellow    Dark no cockles
## 9   MARI301_Block2_Light_Black_Initial     black   Light no cockles
## 10   MARI301_Block2_Light_Blue_Initial      blue   Light    cockles
## 11  MARI301_Block2_Light_Green_Initial     green   Light    cockles
## 12   MARI301_Block2_Dark_Black_Initial     black    Dark no cockles
## 13    MARI301_Block2_Dark_Blue_Initial      blue    Dark    cockles
## 14   MARI301_Block2_Dark_Green_Initial     green    Dark    cockles
## 15  MARI301_Block3_Light_Black_Initial     black   Light no cockles
## 16   MARI301_Block3_Light_Blue_Initial      blue   Light    cockles
## 17  MARI301_Block3_Light_Green_Initial     green   Light    cockles
## 18 MARI301_Block3_Light_Yellow_Initial    yellow   Light no cockles
## 19    MARI301_Block3_Dark_Blue_Initial      blue    Dark    cockles
## 20   MARI301_Block3_Dark_Green_Initial     green    Dark    cockles
## 21  MARI301_Block3_Dark_Yellow_Initial    yellow    Dark no cockles
## 22  MARI301_Block4_Light_Black_Initial     black   Light no cockles
## 23   MARI301_Block4_Light_Blue_Initial      blue   Light    cockles
## 24  MARI301_Block4_Light_Green_Initial     green   Light    cockles
## 25 MARI301_Block4_Light_Yellow_Initial    yellow   Light no cockles
## 26   MARI301_Block4_Dark_Black_Initial     black    Dark no cockles
## 27    MARI301_Block4_Dark_Blue_Initial      blue    Dark    cockles
## 28   MARI301_Block4_Dark_Green_Initial     green    Dark    cockles
## 29  MARI301_Block4_Dark_Yellow_Initial    yellow    Dark no cockles
## 30  MARI301_Block5_Light_Black_Initial     black   Light no cockles
## 31   MARI301_Block5_Light_Blue_Initial      blue   Light    cockles
## 32  MARI301_Block5_Light_Green_Initial     green   Light    cockles
## 33 MARI301_Block5_Light_Yellow_Initial    yellow   Light no cockles
## 34   MARI301_Block5_Dark_Black_Initial     black    Dark no cockles
## 35    MARI301_Block5_Dark_Blue_Initial      blue    Dark    cockles
## 36   MARI301_Block5_Dark_Green_Initial     green    Dark    cockles
## 37  MARI301_Block5_Dark_Yellow_Initial    yellow    Dark no cockles
## 38  MARI301_Block6_Light_Black_Initial     black   Light no cockles
## 39  MARI301_Block6_Light_Green_Initial     green   Light    cockles
## 40 MARI301_Block6_Light_Yellow_Initial    yellow   Light no cockles
## 41  MARI301_Block6_Dark_Black_Initial      black    Dark no cockles
## 42  MARI301_Block6_Dark_Green_Initial      green    Dark    cockles
## 43 MARI301_Block6_Dark_Yellow_Initial     yellow    Dark no cockles
## 44  MARI301_Block7_Light_Black_Initial     black   Light no cockles
## 45   MARI301_Block7_Light_Blue_Initial      blue   Light    cockles
## 46  MARI301_Block7_Light_Green_Initial     green   Light    cockles
## 47 MARI301_Block7_Light_Yellow_Initial    yellow   Light no cockles
## 48  MARI301_Block7_Dark_Black_Initial      black    Dark no cockles
## 49   MARI301_Block7_Dark_Blue_Initial       blue    Dark    cockles
## 50  MARI301_Block7_Dark_Green_Initial      green    Dark    cockles
## 51 MARI301_Block7_Dark_Yellow_Initial     yellow    Dark no cockles
##       ulva Analyte.Name Peak.Concentration..µg.L.1. Ammonia.Flux
## 1               Ammonia                       34.12    11.281367
## 2               Ammonia                       42.37    15.962624
## 3     ulva      Ammonia                       40.68    27.234721
## 4     ulva      Ammonia                       36.03    43.994549
## 5               Ammonia                       99.95   -46.358353
## 6               Ammonia                       40.57     7.721757
## 7     ulva      Ammonia                       41.26    15.137610
## 8     ulva      Ammonia                       39.45    60.670949
## 9               Ammonia                       34.80    29.255541
## 10              Ammonia                       30.14   193.034660
## 11    ulva      Ammonia                       42.36    12.949934
## 12              Ammonia                       33.58   186.202805
## 13              Ammonia                       23.35    94.533589
## 14    ulva      Ammonia                       33.19     7.072870
## 15              Ammonia                       38.39    12.430824
## 16              Ammonia                       35.98    49.815994
## 17    ulva      Ammonia                       43.16   349.092021
## 18    ulva      Ammonia                       36.29   113.416206
## 19              Ammonia                       29.20    25.167552
## 20    ulva      Ammonia                       31.42   314.126273
## 21    ulva      Ammonia                       41.52   218.693512
## 22 no ulva      Ammonia                       41.14   133.948849
## 23 no ulva      Ammonia                       28.81    66.724140
## 24    ulva      Ammonia                       30.91   236.658416
## 25    ulva      Ammonia                       31.65    19.151441
## 26 no ulva      Ammonia                       37.68   114.343187
## 27 no ulva      Ammonia                       26.40    24.602093
## 28    ulva      Ammonia                       34.64   342.389944
## 29    ulva      Ammonia                       28.56   185.359252
## 30 no ulva      Ammonia                       27.93    57.407974
## 31 no ulva      Ammonia                       27.76    33.167404
## 32    ulva      Ammonia                       49.85    82.010067
## 33    ulva      Ammonia                       30.80   174.439408
## 34 no ulva      Ammonia                       27.26    45.051308
## 35 no ulva      Ammonia                       32.61    13.265107
## 36    ulva      Ammonia                       39.59     7.480742
## 37    ulva      Ammonia                       31.78   120.609583
## 38 no ulva      Ammonia                       26.94    14.201359
## 39    ulva      Ammonia                       28.36   254.586242
## 40    ulva      Ammonia                       23.51    52.958462
## 41 no ulva      Ammonia                       27.11    55.859915
## 42    ulva      Ammonia                       28.06    26.113073
## 43    ulva      Ammonia                       25.15    36.708474
## 44 no ulva      Ammonia                       26.53    15.193229
## 45 no ulva      Ammonia                       26.80   144.729646
## 46    ulva      Ammonia                       27.41   155.121110
## 47    ulva      Ammonia                       25.50    84.151395
## 48 no ulva      Ammonia                       31.78    24.685521
## 49 no ulva      Ammonia                       42.61   164.594863
## 50    ulva      Ammonia                       27.24    36.819711
## 51    ulva      Ammonia                       25.15    75.734401
##    Analyte.Name.1 Peak.Concentration..µg.L.1..1 Phosphate.Flux
## 1       Phosphate                         14.62    -2.21831769
## 2       Phosphate                         15.41    -3.15764313
## 3       Phosphate                         15.46    -2.55379106
## 4       Phosphate                         14.14     5.90433138
## 5       Phosphate                         13.28    -2.73830141
## 6       Phosphate                         15.33    -3.59375852
## 7       Phosphate                         15.01    -3.17861022
## 8       Phosphate                         16.02    -0.46546931
## 9       Phosphate                         15.18    -2.39024779
## 10      Phosphate                         11.45    13.40216129
## 11      Phosphate                         15.32    -3.04442087
## 12      Phosphate                         14.55     9.70356734
## 13      Phosphate                         11.84     0.04193417
## 14      Phosphate                         13.29    -3.11990238
## 15      Phosphate                         18.38    -4.67985357
## 16      Phosphate                         10.88    -0.70449408
## 17      Phosphate                         15.40    29.81938952
## 18      Phosphate                         13.47     2.76765534
## 19      Phosphate                         14.26    -2.76346192
## 20      Phosphate                         14.22    19.08424156
## 21      Phosphate                         15.26     5.62756585
## 22      Phosphate                         19.51     0.84707027
## 23      Phosphate                         13.87    -0.23902478
## 24      Phosphate                         14.72    11.46060914
## 25      Phosphate                         15.90    -2.93958544
## 26      Phosphate                         21.48     3.89149114
## 27      Phosphate                         13.37    -2.24347819
## 28      Phosphate                         18.05    19.59583845
## 29      Phosphate                         15.69    15.23049117
## 30      Phosphate                         14.50     2.72572116
## 31      Phosphate                         14.96    -0.07548151
## 32      Phosphate                         26.12    -3.61891902
## 33      Phosphate                         14.11     5.88336429
## 34      Phosphate                         14.72     5.25435172
## 35      Phosphate                         16.07    -3.06119454
## 36      Phosphate                         20.16    -4.87694417
## 37      Phosphate                         13.66     4.47856954
## 38      Phosphate                         15.78    -0.88061761
## 39      Phosphate                         15.52    10.80643606
## 40      Phosphate                         16.10     4.33179994
## 41      Phosphate                         15.97    -0.41934172
## 42      Phosphate                         14.90    -2.16380326
## 43      Phosphate                         17.11    -0.28095895
## 44      Phosphate                         13.71     2.36508729
## 45      Phosphate                         15.29     2.92700519
## 46      Phosphate                         15.98     8.11845565
## 47      Phosphate                         14.96     4.62953256
## 48      Phosphate                         16.98    -0.11322226
## 49      Phosphate                         19.36     7.86265720
## 50      Phosphate                         14.38    -2.45314905
## 51      Phosphate                         13.78     4.08858174
##    Analyte.Name.2 Peak.Concentration..µg.L.1..2     NOx.Flux
## 1             NOx                         15.65  -7.68467792
## 2             NOx                         18.59 -13.21875840
## 3             NOx                         17.05 -11.47603289
## 4             NOx                         54.72  56.71273765
## 5             NOx                         13.89  -8.73216719
## 6             NOx                         13.95  -6.78550572
## 7             NOx                         15.36  -9.58499031
## 8             NOx                         60.35  15.87919575
## 9             NOx                         22.55 -14.84097630
## 10            NOx                         10.32   2.10424836
## 11            NOx                         61.43 -50.82640415
## 12            NOx                         15.37  -5.11693874
## 13            NOx                         13.02  -4.91300277
## 14            NOx                         18.75 -12.69964867
## 15            NOx                         41.21 -32.23115215
## 16            NOx                         27.04 -18.45620475
## 17            NOx                         20.85  -1.26069505
## 18            NOx                         11.16  -3.93967203
## 19            NOx                         22.13  -7.25826636
## 20            NOx                          8.48  -0.06488872
## 21            NOx                          6.63   3.70792662
## 22            NOx                         21.88  -8.44480288
## 23            NOx                         16.08  -4.36608360
## 24            NOx                          8.62  13.25583767
## 25            NOx                         11.28  -3.17027726
## 26            NOx                         15.32  -5.57115975
## 27            NOx                          9.78  -2.17840689
## 28            NOx                         10.22   0.88990239
## 29            NOx                         10.21  36.31914124
## 30            NOx                          5.50  -1.74272551
## 31            NOx                         13.41  -6.64645847
## 32            NOx                         39.68 -35.27165197
## 33            NOx                         11.07  -9.76111683
## 34            NOx                         10.78  14.41456474
## 35            NOx                         12.62   1.44609138
## 36            NOx                         18.11  -1.53878955
## 37            NOx                         11.96  -0.64888716
## 38            NOx                         13.77 -10.48416252
## 39            NOx                         11.08   8.30575563
## 40            NOx                         25.76 -21.09810247
## 41            NOx                         13.77 -11.74485757
## 42            NOx                         10.89  -2.14132762
## 43            NOx                         32.32 -19.01239374
## 44            NOx                         14.69  -5.96976186
## 45            NOx                         30.12 -16.55589236
## 46            NOx                         26.01 -10.96619298
## 47            NOx                         15.00  11.61508014
## 48            NOx                         17.56  -5.71947681
## 49            NOx                         58.90 -29.36677883
## 50            NOx                         25.33 -16.62078107
## 51            NOx                         15.37  -6.93382278
summary(Nutrients)
##                               Sample.ID   Treatment   chamber  
##  MARI301_Block1_Dark_Black_Initial : 1   black :13   Dark :25  
##  MARI301_Block1_Dark_Blue_Initial  : 1   blue  :12   Light:26  
##  MARI301_Block1_Dark_Green_Initial : 1   green :14             
##  MARI301_Block1_Dark_Yellow_Initial: 1   yellow:12             
##  MARI301_Block1_Light_Black_Initial: 1                         
##  MARI301_Block1_Light_Blue_Initial : 1                         
##  (Other)                           :45                         
##        cockles        ulva     Analyte.Name Peak.Concentration..µg.L.1.
##  cockles   :26          :11   Ammonia:51    Min.   :23.35              
##  no cockles:25   no ulva:14                 1st Qu.:27.59              
##                  ulva   :26                 Median :31.78              
##                                             Mean   :34.26              
##                                             3rd Qu.:38.92              
##                                             Max.   :99.95              
##                                                                        
##   Ammonia.Flux      Analyte.Name.1 Peak.Concentration..µg.L.1..1
##  Min.   :-46.36   Phosphate:51     Min.   :10.88                
##  1st Qu.: 21.88                    1st Qu.:14.18                
##  Median : 52.96                    Median :15.18                
##  Mean   : 89.01                    Mean   :15.48                
##  3rd Qu.:139.34                    3rd Qu.:15.97                
##  Max.   :349.09                    Max.   :26.12                
##                                                                 
##  Phosphate.Flux     Analyte.Name.2 Peak.Concentration..µg.L.1..2
##  Min.   :-4.87694   NOx:51         Min.   : 5.50                
##  1st Qu.:-2.50347                  1st Qu.:11.22                
##  Median :-0.07548                  Median :15.36                
##  Mean   : 2.80145                  Mean   :20.11                
##  3rd Qu.: 5.44096                  3rd Qu.:22.34                
##  Max.   :29.81939                  Max.   :61.43                
##                                                                 
##     NOx.Flux       
##  Min.   :-50.8264  
##  1st Qu.:-11.6105  
##  Median : -5.9698  
##  Mean   : -5.4979  
##  3rd Qu.: -0.9548  
##  Max.   : 56.7127  
## 
#detach(Nutrients)
attach(Nutrients)

# black = nothing; blue = +c-u, yellow = -c+u, green = +c+u
# Interaction effect insignificant; therefore -u and +u data can be combined. See "MARI301 R 2017.R"
# Light and Dark chambers significantly different, and should be separated

## Dark Chambers: Effect of adding cockles on ammonia, phosphate and NOx
NH4.yc.dark <- Ammonia.Flux[Nutrients$cockles=="cockles" & Nutrients$chamber=="Dark" & !is.na(Nutrients$Ammonia.Flux)]
NH4.nc.dark <- Ammonia.Flux[Nutrients$cockles!="cockles" & Nutrients$chamber=="Dark" & !is.na(Nutrients$Ammonia.Flux)]
NH4.means.dark <- c(mean(NH4.nc.dark), mean(NH4.yc.dark))
NH4.model.dark <- lm(Ammonia.Flux[Nutrients$chamber=="Dark"] ~ cockles[Nutrients$chamber=="Dark"])
summary(NH4.model.dark) # p = 0.8674
## 
## Call:
## lm(formula = Ammonia.Flux[Nutrients$chamber == "Dark"] ~ cockles[Nutrients$chamber == 
##     "Dark"])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -136.16  -65.11  -44.74   30.81  259.39 
## 
## Coefficients:
##                                                Estimate Std. Error t value
## (Intercept)                                      83.002     27.892   2.976
## cockles[Nutrients$chamber == "Dark"]no cockles    6.795     40.258   0.169
##                                                Pr(>|t|)   
## (Intercept)                                     0.00676 **
## cockles[Nutrients$chamber == "Dark"]no cockles  0.86745   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 100.6 on 23 degrees of freedom
## Multiple R-squared:  0.001237,   Adjusted R-squared:  -0.04219 
## F-statistic: 0.02849 on 1 and 23 DF,  p-value: 0.8674
PO4.yc.dark <- Phosphate.Flux[Nutrients$cockles=="cockles" & Nutrients$chamber=="Dark" & !is.na(Nutrients$Phosphate.Flux)]
PO4.nc.dark <- Phosphate.Flux[Nutrients$cockles!="cockles" & Nutrients$chamber=="Dark" & !is.na(Nutrients$Phosphate.Flux)]
PO4.means.dark <- c(mean(PO4.nc.dark), mean(PO4.yc.dark))
PO4.model.dark <- lm(Phosphate.Flux[Nutrients$chamber=="Dark"] ~ cockles[Nutrients$chamber=="Dark"])
summary(PO4.model.dark) # p = 0.4422
## 
## Call:
## lm(formula = Phosphate.Flux[Nutrients$chamber == "Dark"] ~ cockles[Nutrients$chamber == 
##     "Dark"])
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -6.426 -4.235 -3.715  1.566 18.124 
## 
## Coefficients:
##                                                Estimate Std. Error t value
## (Intercept)                                       1.472      1.964   0.749
## cockles[Nutrients$chamber == "Dark"]no cockles    2.217      2.835   0.782
##                                                Pr(>|t|)
## (Intercept)                                       0.461
## cockles[Nutrients$chamber == "Dark"]no cockles    0.442
## 
## Residual standard error: 7.081 on 23 degrees of freedom
## Multiple R-squared:  0.0259, Adjusted R-squared:  -0.01646 
## F-statistic: 0.6114 on 1 and 23 DF,  p-value: 0.4422
NOx.yc.dark <- NOx.Flux[Nutrients$cockles=="cockles" & Nutrients$chamber=="Dark" & !is.na(Nutrients$NOx.Flux)]
NOx.nc.dark <- NOx.Flux[Nutrients$cockles!="cockles" & Nutrients$chamber=="Dark" & !is.na(Nutrients$NOx.Flux)]
NOx.means.dark <- c(mean(NOx.nc.dark), mean(NOx.yc.dark))
NOx.model.dark <- lm(NOx.Flux[Nutrients$chamber=="Dark"] ~ cockles[Nutrients$chamber=="Dark"])
summary(NOx.model.dark) # p = 0.1341
## 
## Call:
## lm(formula = NOx.Flux[Nutrients$chamber == "Dark"] ~ cockles[Nutrients$chamber == 
##     "Dark"])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.381  -6.290  -0.272   5.447  35.749 
## 
## Coefficients:
##                                                Estimate Std. Error t value
## (Intercept)                                      -6.986      3.371  -2.072
## cockles[Nutrients$chamber == "Dark"]no cockles    7.556      4.866   1.553
##                                                Pr(>|t|)  
## (Intercept)                                      0.0496 *
## cockles[Nutrients$chamber == "Dark"]no cockles   0.1341  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12.15 on 23 degrees of freedom
## Multiple R-squared:  0.0949, Adjusted R-squared:  0.05555 
## F-statistic: 2.412 on 1 and 23 DF,  p-value: 0.1341
# No measureable statistical effect on nutrients of adding cockles to dark chambers

all.means.dark <- c(NH4.means.dark, PO4.means.dark, NOx.means.dark)
mp.dark <- barplot(all.means.dark, legend = c("-c      ", "+c      "), axes=FALSE, axisnames=FALSE, ylim=c(-20,160), xlab="Type of Nutrient", ylab="Nutrient (mM/L)", col=c("white", "gray"))
axis(1, labels=c("NH4 -c", "NH4 +c", "PO4 -c", "PO4 +c", "NOx -c", "NOx +c"), at=mp.dark)
axis(2, at=seq(-20,160,by=10))
box()

all.means.dark.rounded <- round(all.means.dark, digits = 2)
text(mp.dark, 1:6, labels = all.means.dark.rounded, pos = 3)

SE.dark <- matrix(c(std.error(NH4.nc.dark), std.error(NH4.yc.dark), std.error(PO4.nc.dark), std.error(PO4.yc.dark), std.error(NOx.yc.dark), std.error(NOx.nc.dark)))

segments(mp.dark, all.means.dark-SE.dark, mp.dark, all.means.dark+SE.dark, lwd=2)
segments(mp.dark-0.1, all.means.dark-SE.dark, mp.dark+0.1, all.means.dark-SE.dark, lwd=2)
segments(mp.dark-0.1, all.means.dark+SE.dark, mp.dark+0.1, all.means.dark+SE.dark, lwd=2)
abline(h=0, lty=2)
abline(v=4.9, lty=2)
abline(v=2.5, lty=2)

## Light chambers; Effect of adding cockles on ammonia, phosphate and NOx
NH4.yc.light <- Ammonia.Flux[Nutrients$cockles=="cockles" & Nutrients$chamber=="Light" & !is.na(Nutrients$Ammonia.Flux)]
NH4.nc.light <- Ammonia.Flux[Nutrients$cockles!="cockles" & Nutrients$chamber=="Light" & !is.na(Nutrients$Ammonia.Flux)]
NH4.means.light <- c(mean(NH4.nc.light), mean(NH4.yc.light))
NH4.model.light <- lm(Ammonia.Flux[Nutrients$chamber=="Light"] ~ cockles[Nutrients$chamber=="Light"])
summary(NH4.model.light) # p = 0.0583
## 
## Call:
## lm(formula = Ammonia.Flux[Nutrients$chamber == "Light"] ~ cockles[Nutrients$chamber == 
##     "Light"])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -111.75  -47.03  -21.98   48.72  224.39 
## 
## Coefficients:
##                                                 Estimate Std. Error
## (Intercept)                                       124.70      23.51
## cockles[Nutrients$chamber == "Light"]no cockles   -66.10      33.24
##                                                 t value Pr(>|t|)    
## (Intercept)                                       5.305 1.92e-05 ***
## cockles[Nutrients$chamber == "Light"]no cockles  -1.988   0.0583 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 84.75 on 24 degrees of freedom
## Multiple R-squared:  0.1414, Adjusted R-squared:  0.1057 
## F-statistic: 3.954 on 1 and 24 DF,  p-value: 0.05829
PO4.yc.light <- Phosphate.Flux[Nutrients$cockles=="cockles" & Nutrients$chamber=="Light" & !is.na(Nutrients$Phosphate.Flux)]
PO4.nc.light <- Phosphate.Flux[Nutrients$cockles!="cockles" & Nutrients$chamber=="Light" & !is.na(Nutrients$Phosphate.Flux)]
PO4.means.light <- c(mean(PO4.nc.light), mean(PO4.yc.light))
PO4.model.light <- lm(Phosphate.Flux[Nutrients$chamber=="Light"] ~ cockles[Nutrients$chamber=="Light"])
summary(PO4.model.light) # p = 0.2204
## 
## Call:
## lm(formula = Phosphate.Flux[Nutrients$chamber == "Light"] ~ cockles[Nutrients$chamber == 
##     "Light"])
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -8.476 -5.055 -1.170  3.345 24.962 
## 
## Coefficients:
##                                                 Estimate Std. Error
## (Intercept)                                        4.857      2.023
## cockles[Nutrients$chamber == "Light"]no cockles   -3.600      2.861
##                                                 t value Pr(>|t|)  
## (Intercept)                                       2.401   0.0245 *
## cockles[Nutrients$chamber == "Light"]no cockles  -1.258   0.2204  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.293 on 24 degrees of freedom
## Multiple R-squared:  0.06189,    Adjusted R-squared:  0.0228 
## F-statistic: 1.583 on 1 and 24 DF,  p-value: 0.2204
NOx.yc.light <- NOx.Flux[Nutrients$cockles=="cockles" & Nutrients$chamber=="Light" & !is.na(Nutrients$NOx.Flux)]
NOx.nc.light <- NOx.Flux[Nutrients$cockles!="cockles" & Nutrients$chamber=="Light" & !is.na(Nutrients$NOx.Flux)]
NOx.means.light <- c(mean(NOx.nc.light), mean(NOx.yc.light))
NOx.model.light <- lm(NOx.Flux[Nutrients$chamber=="Light"] ~ cockles[Nutrients$chamber=="Light"])
summary(NOx.model.light) # p = 0.3439
## 
## Call:
## lm(formula = NOx.Flux[Nutrients$chamber == "Light"] ~ cockles[Nutrients$chamber == 
##     "Light"])
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -39.643  -6.377  -1.164   6.247  60.639 
## 
## Coefficients:
##                                                 Estimate Std. Error
## (Intercept)                                      -11.183      5.314
## cockles[Nutrients$chamber == "Light"]no cockles    7.257      7.516
##                                                 t value Pr(>|t|)  
## (Intercept)                                      -2.104    0.046 *
## cockles[Nutrients$chamber == "Light"]no cockles   0.966    0.344  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 19.16 on 24 degrees of freedom
## Multiple R-squared:  0.03739,    Adjusted R-squared:  -0.002716 
## F-statistic: 0.9323 on 1 and 24 DF,  p-value: 0.3439
# No measureable statistical effect on nutrients of adding cockles to light chambers

all.means.light <- c(NH4.means.light, PO4.means.light, NOx.means.light)
mp.light <- barplot(all.means.light, legend = c("-c      ", "+c      "), axes=FALSE, axisnames=FALSE, ylim=c(-20,160), xlab="Type of Nutrient", ylab="Nutrient (mM/L)", col=c("white", "gray"))
axis(1, labels=c("NH4 -c", "NH4 +c", "PO4 -c", "PO4 +c", "NOx -c", "NOx +c"), at=mp.light)
axis(2, at=seq(-20,160,by=10))
box()

all.means.light.rounded <- round(all.means.light, digits = 2)
text(mp.light, 1:6, labels = all.means.light.rounded, pos = 3)

SE.light <- matrix(c(std.error(NH4.nc.light), std.error(NH4.yc.light), std.error(PO4.nc.light), std.error(PO4.yc.light), std.error(NOx.yc.light), std.error(NOx.nc.light)))

segments(mp.light, all.means.light-SE.light, mp.light, all.means.light+SE.light, lwd=2)
segments(mp.light-0.1, all.means.light-SE.light, mp.light+0.1, all.means.light-SE.light, lwd=2)
segments(mp.light-0.1, all.means.light+SE.light, mp.light+0.1, all.means.light+SE.light, lwd=2)
abline(h=0, lty=2)
abline(v=4.9, lty=2)
abline(v=2.5, lty=2)

# Thus no measurable effect on nutrients of adding cockles to chambers

## Light v Dark (lvd) differences for nutrients
# I'm choosing to treat light v dark chambers as if they were an independent variable
NH4.model.lvd <- lm(Ammonia.Flux ~ chamber)
summary(NH4.model.lvd) # p = 0.8389
## 
## Call:
## lm(formula = Ammonia.Flux ~ chamber)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -132.62  -67.77  -38.69   47.69  257.44 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)    86.263     18.815   4.585 3.16e-05 ***
## chamberLight    5.387     26.352   0.204    0.839    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 94.08 on 49 degrees of freedom
## Multiple R-squared:  0.0008522,  Adjusted R-squared:  -0.01954 
## F-statistic: 0.04179 on 1 and 49 DF,  p-value: 0.8389
PO4.model.lvd <- lm(Phosphate.Flux ~ chamber)
summary(PO4.model.lvd) # p = 0.7972
## 
## Call:
## lm(formula = Phosphate.Flux ~ chamber)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -7.737 -5.287 -2.649  2.772 26.762 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)  
## (Intercept)    2.5355     1.4413   1.759   0.0848 .
## chamberLight   0.5217     2.0186   0.258   0.7972  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 7.206 on 49 degrees of freedom
## Multiple R-squared:  0.001361,   Adjusted R-squared:  -0.01902 
## F-statistic: 0.06678 on 1 and 49 DF,  p-value: 0.7972
NOx.model.lvd <- lm(NOx.Flux ~ chamber)
summary(NOx.model.lvd) # p = 0.3606
## 
## Call:
## lm(formula = NOx.Flux ~ chamber)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -43.272  -5.945  -1.554   4.317  64.267 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)
## (Intercept)    -3.359      3.246  -1.035    0.306
## chamberLight   -4.196      4.546  -0.923    0.361
## 
## Residual standard error: 16.23 on 49 degrees of freedom
## Multiple R-squared:  0.01708,    Adjusted R-squared:  -0.002976 
## F-statistic: 0.8516 on 1 and 49 DF,  p-value: 0.3606
# Maybe theres an interaction effect
NH4.model2.lvdcox <- lm(Ammonia.Flux ~ cockles + chamber + cockles:chamber)
Anova(NH4.model2.lvdcox, type="III") # p-value: 0.8557, 0.2579, 0.1678
## Anova Table (Type III tests)
## 
## Response: Ammonia.Flux
##                 Sum Sq Df F value   Pr(>F)   
## (Intercept)      89561  1 10.3939 0.002301 **
## cockles            288  1  0.0334 0.855702   
## chamber          11301  1  1.3115 0.257914   
## cockles:chamber  16915  1  1.9631 0.167753   
## Residuals       404986 47                    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
NH4.model3.lvdcox <- lm(Ammonia.Flux~cockles+chamber)
Anova(NH4.model3.lvdcox, type="II") # p-value: 0.2529, 0.8204
## Anova Table (Type II tests)
## 
## Response: Ammonia.Flux
##           Sum Sq Df F value Pr(>F)
## cockles    11770  1  1.3390 0.2529
## chamber      458  1  0.0521 0.8204
## Residuals 421902 48
PO4.model2.lvdcox <- lm(Phosphate.Flux ~ cockles + chamber + cockles:chamber)
Anova(PO4.model2.lvdcox, type="III") # p-value: 0.445, 0.236, 0.156
## Anova Table (Type III tests)
## 
## Response: Phosphate.Flux
##                  Sum Sq Df F value Pr(>F)
## (Intercept)       28.15  1  0.5445 0.4642
## cockles           30.66  1  0.5930 0.4451
## chamber           74.50  1  1.4409 0.2360
## cockles:chamber  107.69  1  2.0831 0.1556
## Residuals       2429.87 47
PO4.model3.lvdcox <- lm(Phosphate.Flux~cockles + chamber)
Anova(PO4.model3.lvdcox, type="II") # p-value: 0.7140, 0.7933
## Anova Table (Type II tests)
## 
## Response: Phosphate.Flux
##            Sum Sq Df F value Pr(>F)
## cockles      7.18  1  0.1359 0.7140
## chamber      3.67  1  0.0694 0.7933
## Residuals 2537.56 48
NOx.model2.lvdcox <- lm(NOx.Flux ~ cockles + chamber + cockles:chamber)
Anova(NOx.model2.lvdcox, type="III") # p-value: 0.2475, 0.5100, 0.9737
## Anova Table (Type III tests)
## 
## Response: NOx.Flux
##                  Sum Sq Df F value Pr(>F)
## (Intercept)       634.4  1  2.4422 0.1248
## cockles           356.3  1  1.3714 0.2475
## chamber           114.5  1  0.4408 0.5100
## cockles:chamber     0.3  1  0.0011 0.9737
## Residuals       12209.7 47
NOx.model3.lvdcox <- lm(NOx.Flux~cockles + chamber)
Anova(NOx.model3.lvdcox, type="II") # p-value: 0.1041, 0.3359
## Anova Table (Type II tests)
## 
## Response: NOx.Flux
##            Sum Sq Df F value Pr(>F)
## cockles     698.3  1  2.7451 0.1041
## chamber     240.4  1  0.9449 0.3359
## Residuals 12210.0 48
# No effect, so chamber color and cockles have no measurable effect on nutrient flux

## Does ulva affect nutrients?
NH4.model.ulva <- lm(Ammonia.Flux ~ ulva)
summary(NH4.model.ulva) # p-value: 0.0783
## 
## Call:
## lm(formula = Ammonia.Flux ~ ulva)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -110.34  -54.16  -31.67   53.27  231.68 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)    52.64      27.19   1.936   0.0588 .
## ulvano ulva    12.20      36.33   0.336   0.7385  
## ulvaulva       64.77      32.44   1.997   0.0515 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 90.18 on 48 degrees of freedom
## Multiple R-squared:  0.1007, Adjusted R-squared:  0.06321 
## F-statistic: 2.687 on 2 and 48 DF,  p-value: 0.07833
PO4.model.ulva <- lm(Phosphate.Flux ~ ulva)
summary(PO4.model.ulva) # p-value: 0.1292
## 
## Call:
## lm(formula = Phosphate.Flux ~ ulva)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -9.613 -4.041 -1.421  1.481 25.084 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  0.08196    2.10515   0.039    0.969  
## ulvano ulva  1.26383    2.81312   0.449    0.655  
## ulvaulva     4.65386    2.51129   1.853    0.070 .
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.982 on 48 degrees of freedom
## Multiple R-squared:  0.08174,    Adjusted R-squared:  0.04348 
## F-statistic: 2.137 on 2 and 48 DF,  p-value: 0.1292
NOx.model.ulva <- lm(NOx.Flux ~ ulva)
summary(NOx.model.ulva) # p-value: 0.3844
## 
## Call:
## lm(formula = NOx.Flux ~ ulva)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -48.121  -6.968   0.918   4.677  59.418 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept)  -10.648      4.889  -2.178   0.0343 *
## ulvano ulva    4.011      6.533   0.614   0.5422  
## ulvaulva       7.943      5.832   1.362   0.1795  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 16.21 on 48 degrees of freedom
## Multiple R-squared:  0.03905,    Adjusted R-squared:  -0.0009907 
## F-statistic: 0.9753 on 2 and 48 DF,  p-value: 0.3844
## Interaction effects, 3way anova
# 3-way anova code taken from www.quantide.com/wp-content/uploads/2017/02/Three-way-Anova-with-R.pdf
NH4.m1 <- aov(Ammonia.Flux~cockles*ulva*chamber, data=Nutrients)
summary(NH4.m1)
##                      Df Sum Sq Mean Sq F value Pr(>F)
## cockles               1  11682   11682   1.266  0.267
## ulva                  2  41808   20904   2.265  0.117
## chamber               1    701     701   0.076  0.784
## cockles:ulva          2    701     350   0.038  0.963
## cockles:chamber       1  15669   15669   1.698  0.200
## ulva:chamber          2    304     152   0.016  0.984
## cockles:ulva:chamber  2   3194    1597   0.173  0.842
## Residuals            39 359983    9230
NH4.m2 <- update(NH4.m1, . ~ . - cockles:ulva:chamber)
Anova(NH4.m1, NH4.m2, type="III")
## Anova Table (Type III tests)
## 
## Response: Ammonia.Flux
##                      Sum Sq Df F value Pr(>F)
## (Intercept)            5412  1  0.5863 0.4484
## cockles                 904  1  0.0979 0.7560
## ulva                   9688  2  0.5248 0.5958
## chamber                2877  1  0.3117 0.5798
## cockles:ulva            871  2  0.0472 0.9540
## cockles:chamber        6152  1  0.6665 0.4192
## ulva:chamber           1572  2  0.0852 0.9185
## cockles:ulva:chamber   3194  2  0.1730 0.8418
## Residuals            363177 41
# p-value: 0.7560, 0.5958, 0.5798, 0.9540, 0.4192, 0.9185, 0.8418
plot(NH4.m2) # residuals

PO4.m1 <- aov(Phosphate.Flux~cockles*ulva*chamber, data=Nutrients)
summary(PO4.m1)
##                      Df Sum Sq Mean Sq F value Pr(>F)
## cockles               1    7.0    6.98   0.126  0.725
## ulva                  2  205.7  102.83   1.849  0.171
## chamber               1    5.2    5.24   0.094  0.760
## cockles:ulva          2    9.9    4.94   0.089  0.915
## cockles:chamber       1   99.5   99.47   1.789  0.189
## ulva:chamber          2    7.3    3.65   0.066  0.936
## cockles:ulva:chamber  2   45.1   22.55   0.406  0.669
## Residuals            39 2168.5   55.60
PO4.m2 <- update(PO4.m1, . ~ . - cockles:ulva:chamber)
Anova(PO4.m1, PO4.m2, type="III")
## Anova Table (Type III tests)
## 
## Response: Phosphate.Flux
##                       Sum Sq Df F value Pr(>F)
## (Intercept)            13.29  1  0.2391 0.6276
## cockles                37.47  1  0.6738 0.4167
## ulva                   62.16  2  0.5589 0.5763
## chamber                41.90  1  0.7535 0.3907
## cockles:ulva           16.68  2  0.1500 0.8612
## cockles:chamber        93.83  1  1.6876 0.2016
## ulva:chamber           23.80  2  0.2141 0.8082
## cockles:ulva:chamber   45.11  2  0.4056 0.6693
## Residuals            2213.65 41
# p-value: 0.4167, 0.5763, 0.3907, 0.8612, 0.2016, 0.8082, 0.6693
plot(PO4.m2)

NOx.m1 <- aov(NOx.Flux~cockles*ulva*chamber, data=Nutrients)
summary(NOx.m1)
##                      Df Sum Sq Mean Sq F value Pr(>F)
## cockles               1    682   682.3   2.473  0.124
## ulva                  2    540   270.0   0.979  0.385
## chamber               1    220   220.3   0.799  0.377
## cockles:ulva          2    755   377.6   1.369  0.266
## cockles:chamber       1      1     1.3   0.005  0.946
## ulva:chamber          2     36    18.1   0.066  0.937
## cockles:ulva:chamber  2    140    69.8   0.253  0.778
## Residuals            39  10758   275.8
NOx.m2 <- update(NOx.m1, . ~ . - cockles:ulva:chamber)
Anova(NOx.m1, NOx.m2, type="III")
## Anova Table (Type III tests)
## 
## Response: NOx.Flux
##                       Sum Sq Df F value Pr(>F)
## (Intercept)            119.8  1  0.4343 0.5138
## cockles                  0.4  1  0.0016 0.9683
## ulva                    36.5  2  0.0661 0.9361
## chamber                 18.8  1  0.0681 0.7955
## cockles:ulva           114.9  2  0.2082 0.8129
## cockles:chamber         40.5  1  0.1467 0.7038
## ulva:chamber            59.6  2  0.1081 0.8978
## cockles:ulva:chamber   139.5  2  0.2529 0.7778
## Residuals            10897.5 41
# p-value: 0.9683, 0.9361, 0.7955, 0.8129, 0.7038, 0.8978, 0.7778
plot(NOx.m2)

# No interaction effects between cockles, ulva and chamber
# It appears that nutrients are not affected by cockles, ulva or chamber