For oogonia, I’ll take the average of oogonia released per thalli. For pH I’ll correct the pH Hach readings based on our discrete samples (explained below). For salinity, dissoved oxygen, and temperature, I’ll use the average values from the units measured by Hach.
For pH I will correct the value of the unit Hach values to the discrete values using the regressions line I made here: https://cmwegener.github.io/thesis/hach_vs_discrete.html pH_Hach=1.8+0.78*pH_discrete
pH_discrete=(pH_Hach - 1.8)/.78
rm(list=ls())
library(tidyverse)
library(ggpubr)
library(scales)
library(chron)
library(plotly)
library(taRifx)
library(aweek)
library(easypackages)
library(renv)
library(here)
library(ggthemes)
library(gridExtra)
library(patchwork)
library(tidyquant)
library(recipes)
library(cranlogs)
library(knitr)
library(openair)
library(latticeExtra)
Read in data
exp<-read.csv("C:/Users/chels/Box Sync/Thesis/Data/Working data/Final data/mesocosm_all.csv", header = TRUE, sep=",", fileEncoding="UTF-8-BOM", stringsAsFactors = FALSE)
Convert unit_ph_hach to discrete pH using equation.
exp$unit_ph_corrected<-(exp$unit_ph_hach-1.8)/.78
Convert to number
exp$oo_disc_1<-as.numeric(exp$oo_disc_1)
exp$oo_disc_2<-as.numeric(exp$oo_disc_2)
exp$oo_disc_3<-as.numeric(exp$oo_disc_3)
exp$oo_disc_4<-as.numeric(exp$oo_disc_4)
exp$unit_sal_hach<-as.numeric(exp$unit_sal_hach)
## Warning: NAs introduced by coercion
Average oogonia per thalli (average per unit)
exp$avg_disc_oo<-rowMeans(exp[,c('oo_disc_1', 'oo_disc_2', 'oo_disc_3','oo_disc_4')], na.rm=TRUE)
Let’s subset the data per run
r1<-subset(exp, run=='1')
r2<-subset(exp, run=='2')
r3<-subset(exp,run=='3')
Average unit pH over the course of each experiment (using converted values)
r1_av_ph<-aggregate( unit_ph_corrected ~ thalli,r1, mean)
r2_av_ph<-aggregate( unit_ph_corrected ~ thalli,r2, mean)
r3_av_ph<-aggregate( unit_ph_corrected ~ thalli,r3, mean)
Average unit salinity over the course of each experiment (using Hach readings)
r1_av_sal<-aggregate( unit_sal_hach ~ thalli,r1, mean)
r2_av_sal<-aggregate( unit_sal_hach ~ thalli,r2, mean)
r3_av_sal<-aggregate( unit_sal_hach ~ thalli,r3, mean)
Average unit dissolved oxygen over the course of each experiment (using Hach readings)
r1_av_do<-aggregate( unit_do_hach ~ thalli,r1, mean)
r2_av_do<-aggregate( unit_do_hach ~ thalli,r2, mean)
r3_av_do<-aggregate( unit_do_hach ~ thalli,r3, mean)
Average unit temperature over the course of each experiment (using Hach readings)
r1_av_temp<-aggregate( unit_temp_hach ~ thalli,r1, mean)
r2_av_temp<-aggregate( unit_temp_hach ~ thalli,r2, mean)
r3_av_temp<-aggregate( unit_temp_hach ~ thalli,r3, mean)
Combine to make new data frame
r1_all<-cbind(r1_av_ph, r1_av_sal, r1_av_do, r1_av_temp)
r2_all<-cbind(r2_av_ph, r2_av_sal, r2_av_do, r2_av_temp)
r3_all<-cbind(r3_av_ph, r3_av_sal, r3_av_do, r3_av_temp)
Add run number
r1_all$run<-"1"
r2_all$run<-"2"
r3_all$run<-"3"
Change column names. Not needed. Just helps me check track
names(r1_all)[names(r1_all) == "unit_sal_hach"] <- "unit_avg_sal"
names(r2_all)[names(r2_all) == "unit_sal_hach"] <- "unit_avg_sal"
names(r3_all)[names(r3_all) == "unit_sal_hach"] <- "unit_avg_sal"
names(r1_all)[names(r1_all) == "unit_ph_corrected"] <- "unit_avg_ph_c"
names(r2_all)[names(r2_all) == "unit_ph_corrected"] <- "unit_avg_ph_c"
names(r3_all)[names(r3_all) == "unit_ph_corrected"] <- "unit_avg_ph_c"
names(r1_all)[names(r1_all) == "unit_do_hach"] <- "unit_avg_do"
names(r2_all)[names(r2_all) == "unit_do_hach"] <- "unit_avg_do"
names(r3_all)[names(r3_all) == "unit_do_hach"] <- "unit_avg_do"
names(r1_all)[names(r1_all) == "unit_temp_hach"] <- "unit_avg_temp"
names(r2_all)[names(r2_all) == "unit_temp_hach"] <- "unit_avg_temp"
names(r3_all)[names(r3_all) == "unit_temp_hach"] <- "unit_avg_temp"
Remove redundant “thalli” columns
r1_all<-r1_all[-c(3,5,7)]
r2_all<-r2_all[-c(3,5,7)]
r3_all<-r3_all[-c(3,5,7)]
r1<-r1[-c(6)]
r2<-r2[-c(6)]
r3<-r3[-c(6)]
Add average oogoina data. Combine rx with rx_all
r1_all2 <-
merge(r1, r1_all[, c("thalli",
"unit_avg_sal",
"unit_avg_ph_c",
"unit_avg_do",
"unit_avg_temp")], by = "thalli")
r2_all2 <-
merge(r2, r2_all[, c("thalli",
"unit_avg_sal",
"unit_avg_ph_c",
"unit_avg_do",
"unit_avg_temp")], by = "thalli")
r3_all2 <-
merge(r3, r3_all[, c("thalli",
"unit_avg_sal",
"unit_avg_ph_c",
"unit_avg_do",
"unit_avg_temp")], by = "thalli")
final <- rbind(r1_all2, r2_all2, r3_all2)
write.csv(final,'C:/Users/chels/Box Sync/Thesis/Data/Working data/Final data/meso.calculated.csv' )