Set-up R Markdown AND adjust Working Directory (if necessary)
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set ("C:/Users/16mfr/OneDrive/Desktop/Capstone/Data and Code - Copy/ANOVA&LR")
setwd("C:/Users/16mfr/OneDrive/Desktop/Capstone/Data and Code - Copy/ANOVA&LR")
Load packages
library(car)
library(dplyr)
library(lmtest)
Read and Prep Data
Data structure should include the following columns:
Unit, Month, Site, Vegetation Type, site CPUE, av_temp, av_do, av_pH,
av_turbidity, av_conductivity
We log-transformed the site CPUE due to a non-normal distribution of
data.
FykeLR = read.csv('FishLR.csv')
head(FykeLR)
FykeLR$logCPUE <- log(FykeLR$CPUE+1)
shapiro.test(FykeLR$logCPUE)
##
## Shapiro-Wilk normality test
##
## data: FykeLR$logCPUE
## W = 0.95506, p-value = 0.004245
Perform the Linear Regressions
Run a LR for logCPUE and each water quality parameter.
Regression Analyses - CPUE:Temp, CPUE:DO, CPUE:pH, CPUE:Turb,
CPUE:Cond
FishLRtemp = lm(logCPUE ~ av_temp, data=FykeLR)
summary(FishLRtemp)
##
## Call:
## lm(formula = logCPUE ~ av_temp, data = FykeLR)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.7422 -1.4226 -0.0274 1.1134 4.6922
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.80595 0.64256 1.254 0.213
## av_temp 0.07139 0.02958 2.413 0.018 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.601 on 85 degrees of freedom
## Multiple R-squared: 0.06413, Adjusted R-squared: 0.05312
## F-statistic: 5.825 on 1 and 85 DF, p-value: 0.01795
FishLRDO = lm(logCPUE ~ av_do, data=FykeLR)
summary(FishLRDO)
##
## Call:
## lm(formula = logCPUE ~ av_do, data = FykeLR)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.7567 -1.3066 -0.1079 1.0906 5.0568
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.87407 0.37417 7.681 2.47e-11 ***
## av_do -0.07620 0.04397 -1.733 0.0867 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.626 on 85 degrees of freedom
## Multiple R-squared: 0.03413, Adjusted R-squared: 0.02276
## F-statistic: 3.003 on 1 and 85 DF, p-value: 0.08672
FishLRpH = lm(logCPUE ~ av_pH, data=FykeLR)
summary(FishLRpH)
##
## Call:
## lm(formula = logCPUE ~ av_pH, data = FykeLR)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4714 -1.3612 -0.1619 1.0537 5.1077
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.1968 2.8425 1.476 0.144
## av_pH -0.2390 0.3575 -0.668 0.506
##
## Residual standard error: 1.651 on 85 degrees of freedom
## Multiple R-squared: 0.00523, Adjusted R-squared: -0.006473
## F-statistic: 0.4469 on 1 and 85 DF, p-value: 0.5056
FishLRTurb = lm(logCPUE ~ av_turbidity, data=FykeLR)
summary(FishLRTurb)
##
## Call:
## lm(formula = logCPUE ~ av_turbidity, data = FykeLR)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.4010 -1.2907 -0.1455 1.0690 5.0101
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 2.405461 0.240498 10.002 5.09e-16 ***
## av_turbidity -0.006787 0.010513 -0.646 0.52
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.651 on 85 degrees of freedom
## Multiple R-squared: 0.004878, Adjusted R-squared: -0.006829
## F-statistic: 0.4167 on 1 and 85 DF, p-value: 0.5203
FishLRCond = lm(logCPUE ~ av_conductivity, data=FykeLR)
summary(FishLRCond)
##
## Call:
## lm(formula = logCPUE ~ av_conductivity, data = FykeLR)
##
## Residuals:
## Min 1Q Median 3Q Max
## -2.9532 -1.3011 -0.0562 1.2375 4.1293
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 0.288934 0.739224 0.391 0.6969
## av_conductivity 0.003843 0.001374 2.796 0.0064 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.584 on 85 degrees of freedom
## Multiple R-squared: 0.08421, Adjusted R-squared: 0.07344
## F-statistic: 7.816 on 1 and 85 DF, p-value: 0.006401
Time to plot!
# Temp
FishLRTempplot = plot(FykeLR$av_temp, FykeLR$logCPUE,col = "black",
main = "Total Site logCPUE & Average Temperature Regression",
abline(lm(FykeLR$logCPUE ~ FykeLR$av_temp)),
cex = 1.3,
pch = 16,
xlab = "Total Site logCPUE",
ylab = "Average Temperature (Celsius)")
# DO
FishLR_DOplot = plot(FykeLR$av_do,FykeLR$logCPUE,col = "black",
main = "Total Site logCPUE & Average Dissolved Oxygen Regression",
abline(lm(FykeLR$logCPUE~FykeLR$av_do)),
cex = 1.3,
pch = 16,
xlab = "Total Site logCPUE",
ylab = "Average Dissolved Oxygen (mg/L)")
# PH
FishLR_pHplot = plot(FykeLR$av_pH,FykeLR$logCPUE,col = "black",
main = "Total Site logCPUE & Average pH Regression",
abline(lm(FykeLR$logCPUE~FykeLR$av_pH)),
cex = 1.3,
pch = 16,
xlab = "Total Site logCPUE",
ylab = "Average pH")
# TURB
FishLR_Turbplot = plot(FykeLR$av_turbidity,FykeLR$logCPUE,col = "black",
main = "Total Site logCPUE & Average Turbidity Regression",
abline(lm(FykeLR$logCPUE~FykeLR$av_turbidity)),
cex = 1.3,
pch = 16,
xlab = "Total Site logCPUE",
ylab = "Average Turbidity (FNU)")
# COND
FishLR_Condplot = plot(FykeLR$av_conductivity,FykeLR$logCPUE,col = "black",
main = "Total Site logCPUE & Average Conductivity Regression",
abline(lm(FykeLR$logCPUE~FykeLR$av_conductivity)),
cex = 1.3,
pch = 16,
xlab = "Total Site logCPUE",
ylab = "Average Conductivity (uS/cm2)")