If this were an R package we would library()
Load your libraries, palettes and functions:
pacman::p_load(dplyr, tidyr, ggplot2, readr, broom,
janitor,lubridate, DT, viridis, stringr,forcats)
system_palette <- c("Hydrological" = "#31B2BB", "Vegetation" = "#07913C", "Biogeochemical" = "#A45D05")
Plot_order = c("Freshwater", "Estuarine-water")
# set event window to use for all data frame function calls
flood_event_datetime <- c(as_datetime("2022-06-22 5:30:00", tz = "EST"), as_datetime("2022-06-22 14:30:00", tz = "EST"))
EVENT_START <- as_datetime("2022-06-22 05:30:00", tz = "EST")
EVENT_STOP <- as_datetime("2022-06-22 14:30:00", tz = "EST")
source("scripts/tmp_test_functions.R")
source("scripts/rain_times.R")
Check out the guts of the function you just loaded to see what all the maths are behind the calculations:
## function (data, datetime_name, event, plot_col_name, analyte_col_name,
## scale_col_name)
## {
## data_name <- deparse(substitute(data))
## grouped_binned_data <- divide_data(data, {
## {
## datetime_name
## }
## }, event) %>% group_by(timedate_bin, {
## {
## plot_col_name
## }
## }, {
## {
## scale_col_name
## }
## })
## sum_calcs_list <- list()
## for (a in seq_along(analyte_col_name)) {
## analyte <- analyte_col_name[a]
## sum_calcs <- grouped_binned_data %>% filter(!is.na(eval(parse(text = {
## {
## analyte_col_name
## }
## }[a])))) %>% summarize(avg = mean(eval(parse(text = {
## {
## analyte_col_name
## }
## }[a]))), min = min(eval(parse(text = {
## {
## analyte_col_name
## }
## }[a]))), max = max(eval(parse(text = {
## {
## analyte_col_name
## }
## }[a]))), sd = sd(eval(parse(text = {
## {
## analyte_col_name
## }
## }[a]))), n = n()) %>% mutate(analyte_name = analyte)
## sum_calcs_list[[analyte]] <- sum_calcs
## }
## bind_sum <- bind_rows(sum_calcs_list)
## bind_sum %>% pivot_wider(names_from = "timedate_bin", values_from = c("avg",
## "sd", "n", "min", "max")) %>% select(-c(min_Pre, min_Post,
## max_Pre, max_Post)) %>% mutate(max_effect_Mid = case_when(avg_Mid >
## avg_Pre ~ max_Mid, avg_Mid < avg_Pre ~ min_Mid, avg_Mid ==
## avg_Pre ~ avg_Mid)) %>% select(-max_Mid, -min_Mid) %>%
## rename(Vpre = avg_Pre, Vpre_n = n_Pre, Vpre_sd = sd_Pre,
## Vdist = max_effect_Mid, Vdist_n = n_Mid, Vdist_sd = sd_Mid,
## Vdist_avg = avg_Mid, Vpost = avg_Post, Vpost_n = n_Post,
## Vpost_sd = sd_Post) %>% mutate(magnitude_change = Vdist -
## Vpre) %>% rename(plot = {
## {
## plot_col_name
## }
## })
## }
Hydrologic (sub-surface and near-surface water level, VWC, sub-surface and near-surface EC) Biogeochemical (sub-surface & near-surface DO, porewater DOC, optical properties; soil GHGs) Vegetation (sapflow; root respiration; leaf water potential)
## Plot Timepoint n doc_mg_l_sd
## Length:17 Length:17 Min. : 1.000 Min. :2.530
## Class :character Class :character 1st Qu.: 4.000 1st Qu.:3.505
## Mode :character Mode :character Median : 7.000 Median :4.060
## Mean : 6.235 Mean :4.545
## 3rd Qu.: 9.000 3rd Qu.:5.190
## Max. :10.000 Max. :8.480
## NA's :2
## doc_mg_l_se doc_mg_l tdn_mg_l_sd tdn_mg_l_se
## Min. :0.860 Min. : 8.10 Min. :0.0500 Min. :0.0300
## 1st Qu.:1.170 1st Qu.: 9.79 1st Qu.:0.1750 1st Qu.:0.0750
## Median :1.790 Median :11.10 Median :0.3100 Median :0.1200
## Mean :1.819 Mean :13.10 Mean :0.3827 Mean :0.1447
## 3rd Qu.:2.370 3rd Qu.:17.54 3rd Qu.:0.4450 3rd Qu.:0.1600
## Max. :3.210 Max. :21.12 Max. :1.7000 Max. :0.6400
## NA's :2 NA's :2 NA's :2
## tdn_mg_l date plot Time
## Min. :0.2700 Min. :2022-06-15 Length:17 Length:17
## 1st Qu.:0.4700 1st Qu.:2022-06-22 Class :character Class1:hms
## Median :0.6100 Median :2022-06-23 Mode :character Class2:difftime
## Mean :0.6541 Mean :2022-06-25 Mode :numeric
## 3rd Qu.:0.7700 3rd Qu.:2022-06-24
## Max. :1.2500 Max. :2022-07-18
##
## Timestamp zscore_doc_mg_l
## Min. :2022-06-15 12:00:00.00 Min. :-1.6099
## 1st Qu.:2022-06-22 05:00:00.00 1st Qu.:-0.5802
## Median :2022-06-23 12:00:00.00 Median :-0.2615
## Mean :2022-06-26 08:21:10.58 Mean : 0.0000
## 3rd Qu.:2022-06-24 12:00:00.00 3rd Qu.: 0.6963
## Max. :2022-07-18 12:00:00.00 Max. : 1.9595
##
## S275_295 S275_295_r2 S350_400 S350_400_r2
## Min. :0.01189 Min. :0.9967 Min. :0.01532 Min. :0.9994
## 1st Qu.:0.01395 1st Qu.:0.9988 1st Qu.:0.01842 1st Qu.:0.9998
## Median :0.01445 Median :0.9990 Median :0.01885 Median :0.9998
## Mean :0.01447 Mean :0.9988 Mean :0.01865 Mean :0.9998
## 3rd Qu.:0.01482 3rd Qu.:0.9993 3rd Qu.:0.01923 3rd Qu.:0.9998
## Max. :0.01726 Max. :0.9996 Max. :0.02070 Max. :1.0000
## Sr E2toE3 FI HIX
## Min. :0.7284 Min. :4.247 Min. :1.359 Min. :0.6755
## 1st Qu.:0.7486 1st Qu.:5.364 1st Qu.:1.520 1st Qu.:0.9058
## Median :0.7709 Median :5.625 Median :1.550 Median :0.9230
## Mean :0.7772 Mean :5.650 Mean :1.568 Mean :0.8892
## 3rd Qu.:0.7867 3rd Qu.:5.822 3rd Qu.:1.566 3rd Qu.:0.9294
## Max. :0.9067 Max. :7.748 Max. :1.822 Max. :0.9553
## FRESH BIX sample_name Event
## Min. :0.4546 Min. :0.4726 Length:24 Length:24
## 1st Qu.:0.5563 1st Qu.:0.5668 Class :character Class :character
## Median :0.5641 Median :0.5736 Mode :character Mode :character
## Mean :0.6179 Mean :0.6294
## 3rd Qu.:0.5890 3rd Qu.:0.5978
## Max. :0.9413 Max. :0.9740
## Plot Grid Timepoint date
## Length:24 Length:24 Length:24 Min. :2022-06-13
## Class :character Class :character Class :character 1st Qu.:2022-06-20
## Mode :character Mode :character Mode :character Median :2022-06-22
## Mean :2022-06-27
## 3rd Qu.:2022-06-30
## Max. :2022-07-21
## depth plot Time
## Min. :15 Length:24 Length:24
## 1st Qu.:15 Class :character Class1:hms
## Median :15 Mode :character Class2:difftime
## Mean :15 Mode :numeric
## 3rd Qu.:15
## Max. :15
## Timestamp zscore_Sr
## Min. :2022-06-13 12:00:00 Min. :-2.4630
## 1st Qu.:2022-06-20 12:00:00 1st Qu.:-0.4369
## Median :2022-06-23 00:00:00 Median : 0.2130
## Mean :2022-06-27 20:25:00 Mean : 0.0000
## 3rd Qu.:2022-06-30 12:00:00 3rd Qu.: 0.4632
## Max. :2022-07-21 12:00:00 Max. : 1.7875
## datetime_est datetime_utc temp_c
## Min. :2022-06-21 12:05:00 Length:1725 Min. :17.97
## 1st Qu.:2022-06-22 00:00:00 Class :character 1st Qu.:18.13
## Median :2022-06-22 12:00:00 Mode :character Median :19.10
## Mean :2022-06-22 12:00:00 Mean :19.14
## 3rd Qu.:2022-06-23 00:00:00 3rd Qu.:19.92
## Max. :2022-06-23 11:55:00 Max. :21.32
## do_mgl plot depth zscore_do_mgl
## Min. :0.001 Length:1725 Min. :30 Min. :-2.9348
## 1st Qu.:0.161 Class :character 1st Qu.:30 1st Qu.:-1.0923
## Median :5.813 Mode :character Median :30 Median : 0.5146
## Mean :4.915 Mean :30 Mean : 0.0000
## 3rd Qu.:8.446 3rd Qu.:30 3rd Qu.: 1.0077
## Max. :9.429 Max. :30 Max. : 1.4275
## Plot Timepoint Source n
## Length:36 Length:36 Length:36 Min. :3.000
## Class :character Class :character Class :character 1st Qu.:4.000
## Mode :character Mode :character Mode :character Median :4.000
## Mean :3.972
## 3rd Qu.:4.000
## Max. :4.000
## Flux_CH4_sd Flux_CH4_se Flux_CH4
## Min. :0.03882 Min. :0.01941 Min. :-1.9476
## 1st Qu.:0.32721 1st Qu.:0.16360 1st Qu.:-1.1416
## Median :0.53336 Median :0.26668 Median :-0.7522
## Mean :0.65047 Mean :0.32613 Mean :-0.7767
## 3rd Qu.:0.96671 3rd Qu.:0.48336 3rd Qu.:-0.3627
## Max. :1.87294 Max. :0.93647 Max. : 0.1944
## Date plot zscore_Flux_CH4
## Min. :2022-06-20 18:49:13.00 Length:36 Min. :-2.5400
## 1st Qu.:2022-06-22 18:02:48.00 Class :character 1st Qu.:-0.3874
## Median :2022-06-23 12:03:07.00 Mode :character Median : 0.0620
## Mean :2022-06-29 01:00:24.57 Mean : 0.0000
## 3rd Qu.:2022-07-01 23:21:14.50 3rd Qu.: 0.6249
## Max. :2022-07-21 23:53:53.00 Max. : 2.1051
## Plot Timepoint Source n
## Length:36 Length:36 Length:36 Min. :3.000
## Class :character Class :character Class :character 1st Qu.:4.000
## Mode :character Mode :character Mode :character Median :4.000
## Mean :3.972
## 3rd Qu.:4.000
## Max. :4.000
## Flux_CO2_sd Flux_CO2_se Flux_CO2
## Min. : 0.5571 Min. :0.2786 Min. : 5.17
## 1st Qu.: 2.0091 1st Qu.:1.0046 1st Qu.: 8.41
## Median : 3.2381 Median :1.6190 Median :10.84
## Mean : 4.0678 Mean :2.0385 Mean :11.40
## 3rd Qu.: 4.6359 3rd Qu.:2.3179 3rd Qu.:13.58
## Max. :13.5293 Max. :6.7646 Max. :21.44
## Date plot zscore_Flux_CO2
## Min. :2022-06-20 18:49:13.00 Length:36 Min. :-1.3434
## 1st Qu.:2022-06-22 18:02:48.00 Class :character 1st Qu.:-0.6993
## Median :2022-06-23 12:03:07.00 Mode :character Median :-0.2504
## Mean :2022-06-29 01:00:24.57 Mean : 0.0000
## 3rd Qu.:2022-07-01 23:21:14.50 3rd Qu.: 0.5368
## Max. :2022-07-21 23:53:53.00 Max. : 1.8901
## datetime_est datetime_utc plot
## Min. :2022-06-20 00:00:00 Min. :2022-06-20 05:00:00 Length:720
## 1st Qu.:2022-06-21 05:52:30 1st Qu.:2022-06-21 10:52:30 Class :character
## Median :2022-06-22 11:45:00 Median :2022-06-22 16:45:00 Mode :character
## Mean :2022-06-22 11:45:00 Mean :2022-06-22 16:45:00
## 3rd Qu.:2022-06-23 17:37:30 3rd Qu.:2022-06-23 22:37:30
## Max. :2022-06-24 23:30:00 Max. :2022-06-25 04:30:00
## temp salinity specific_conductivity wl_below_surface_m
## Min. :12.19 Min. :0.0400 Min. : 83.38 Min. :-3.8145
## 1st Qu.:12.21 1st Qu.:0.0400 1st Qu.: 89.22 1st Qu.:-3.8022
## Median :12.34 Median :0.0600 Median : 121.94 Median :-2.8266
## Mean :12.36 Mean :0.5539 Mean :1032.68 Mean :-2.4821
## 3rd Qu.:12.54 3rd Qu.:0.1100 3rd Qu.: 221.98 3rd Qu.:-1.0302
## Max. :12.57 Max. :3.5500 Max. :6490.00 Max. :-0.2873
## do_mgl rain_accum_in depth zscore_specific_conductivity
## Min. :0.001 Min. :0.00000 Min. :100 Min. :-1.83457
## 1st Qu.:0.001 1st Qu.:0.00000 1st Qu.:100 1st Qu.:-0.95549
## Median :0.010 Median :0.00000 Median :100 Median : 0.02192
## Mean :2.092 Mean :0.04869 Mean :100 Mean : 0.00000
## 3rd Qu.:5.485 3rd Qu.:0.06654 3rd Qu.:100 3rd Qu.: 0.92937
## Max. :7.240 Max. :0.45354 Max. :100 Max. : 2.46833
## zscore_wl_below_surface_m zscore_do_mgl
## Min. :-2.0592 Min. :-1.5173
## 1st Qu.:-0.9759 1st Qu.:-0.6554
## Median :-0.0254 Median :-0.3720
## Mean : 0.0000 Mean : 0.0000
## 3rd Qu.: 0.9756 3rd Qu.: 0.7241
## Max. : 2.5145 Max. : 4.0987
## datetime_est plot depth vwc_m3m3
## Min. :2022-06-20 00:00:00 Length:1440 Min. :15 Min. :0.2827
## 1st Qu.:2022-06-21 05:56:15 Class :character 1st Qu.:15 1st Qu.:0.2969
## Median :2022-06-22 11:52:30 Mode :character Median :15 Median :0.3192
## Mean :2022-06-22 11:52:30 Mean :15 Mean :0.3216
## 3rd Qu.:2022-06-23 17:48:45 3rd Qu.:15 3rd Qu.:0.3451
## Max. :2022-06-24 23:45:00 Max. :15 Max. :0.3827
## tsoil_c ec_uscm filled zscore_vwc_m3m3
## Min. :17.90 Min. : 47.53 Mode :logical Min. :-1.2904
## 1st Qu.:18.46 1st Qu.: 83.40 FALSE:1321 1st Qu.:-0.9590
## Median :18.81 Median : 106.31 TRUE :119 Median :-0.3237
## Mean :19.14 Mean : 305.46 Mean : 0.0000
## 3rd Qu.:19.69 3rd Qu.: 118.11 3rd Qu.: 1.0532
## Max. :21.75 Max. :1916.50 Max. : 1.9965
## zscore_ec_uscm
## Min. :-1.5869
## 1st Qu.:-1.0321
## Median : 0.1592
## Mean : 0.0000
## 3rd Qu.: 1.0201
## Max. : 1.8874
## Plot Timepoint Source n
## Length:36 Length:36 Length:36 Min. :3.000
## Class :character Class :character Class :character 1st Qu.:4.000
## Mode :character Mode :character Mode :character Median :4.000
## Mean :3.972
## 3rd Qu.:4.000
## Max. :4.000
## Flux_CH4_sd Flux_CH4_se Flux_CH4
## Min. :0.2145 Min. :0.1072 Min. :-2.4124
## 1st Qu.:0.5072 1st Qu.:0.2536 1st Qu.:-1.0024
## Median :0.9187 Median :0.4593 Median :-0.5855
## Mean :1.0887 Mean :0.5483 Mean :-0.3845
## 3rd Qu.:1.4749 3rd Qu.:0.7374 3rd Qu.: 0.2073
## Max. :3.8855 Max. :1.9428 Max. : 1.6545
## Date plot zscore_Flux_CH4
## Min. :2022-06-20 18:49:13.00 Length:36 Min. :-2.62184
## 1st Qu.:2022-06-22 18:02:48.00 Class :character 1st Qu.:-0.39075
## Median :2022-06-23 12:03:07.00 Mode :character Median :-0.03596
## Mean :2022-06-29 01:00:24.57 Mean : 0.00000
## 3rd Qu.:2022-07-01 23:21:14.50 3rd Qu.: 0.41289
## Max. :2022-07-21 23:53:53.00 Max. : 2.28512
## Plot Timepoint Source n
## Length:36 Length:36 Length:36 Min. :3.000
## Class :character Class :character Class :character 1st Qu.:4.000
## Mode :character Mode :character Mode :character Median :4.000
## Mean :3.972
## 3rd Qu.:4.000
## Max. :4.000
## Flux_CO2_sd Flux_CO2_se Flux_CO2
## Min. : 0.9389 Min. :0.4695 Min. :-2.125
## 1st Qu.: 3.5595 1st Qu.:1.7797 1st Qu.: 2.853
## Median : 4.8670 Median :2.4647 Median : 3.581
## Mean : 5.3846 Mean :2.7027 Mean : 3.841
## 3rd Qu.: 6.2238 3rd Qu.:3.1119 3rd Qu.: 4.986
## Max. :13.4057 Max. :6.7028 Max. : 9.685
## Date plot zscore_Flux_CO2
## Min. :2022-06-20 18:49:13.00 Length:36 Min. :-2.27874
## 1st Qu.:2022-06-22 18:02:48.00 Class :character 1st Qu.:-0.53668
## Median :2022-06-23 12:03:07.00 Mode :character Median :-0.03218
## Mean :2022-06-29 01:00:24.57 Mean : 0.00000
## 3rd Qu.:2022-07-01 23:21:14.50 3rd Qu.: 0.55136
## Max. :2022-07-21 23:53:53.00 Max. : 2.14871
## Date plot Fd_avg zscore_Fd_avg
## Min. :2022-06-20 Length:15 Min. :1.125 Min. :-1.65299
## 1st Qu.:2022-06-21 Class :character 1st Qu.:3.737 1st Qu.:-0.02949
## Median :2022-06-22 Mode :character Median :4.009 Median : 0.14102
## Mean :2022-06-22 Mean :3.783 Mean : 0.00000
## 3rd Qu.:2022-06-23 3rd Qu.:4.306 3rd Qu.: 0.28685
## Max. :2022-06-24 Max. :6.098 Max. : 1.23568
calc_dist_metricsHydrologic (sub-surface and near-surface water level, VWC, sub-surface and near-surface EC) Biogeochemical (sub-surface & near-surface DO, porewater DOC, optical properties; soil GHGs) Vegetation (sapflow; root respiration; leaf water potential)
names_key = readxl::read_excel("./data/for processing/system_level_analyte_key.xlsx")
responses = responses_1 %>%
full_join(names_key, by=c("analyte_name","location"))