This report is automatically generated with the R
package knitr
(version 1.39
)
.
--- title: "1_Allocations_PercentReduction" author: "Mercury Program and Basin Planning Unit" date: "2022-12-06" output: html_document: code_folding: show toc: TRUE toc_float: TRUE toc_depth: 3 runtime: shiny assets: css: - "http://fonts.googleapis.com/css?family=Raleway:300" - "http://fonts.googleapis.com/css?family=Oxygen" --- <style> body{ font-family: 'Oxygen', sans-serif; font-size: 16px; line-height: 24px; } h1,h2,h3,h4 { font-family: 'Raleway', sans-serif; } .container { width: 1250px; } h3 { background-color: #D4DAEC; text-indent: 50px; } h4 { text-indent: 75px; margin-top: 35px; margin-bottom: 5px; } </style> #MOST OF THIS CODE IS COPIED FROM LINKAGE ANALYSIS CODE TO KEEP CONSISTENT UP UNTIL THE POOLING CODE ```{r setup, include=FALSE} knitr::opts_chunk$set(echo=TRUE, warning=FALSE, message=FALSE, fig.width=9.5) ``` # Load Libraries, Functions & Data ```{r} library(dplyr) library(lubridate) library(readxl) getwd() source("../../R Functions/functions_estimate NDDNQ values.R") source("../../R Functions/functions_QA data.R") # Load Aqueous Data aqdf <- loadData("../../Reeval_Impl_Goals_Linkage_Analysis/Data/Aqueous/6a_AqMaster_noRepeats.xlsx") # Convert columns that are character but should be numeric or date aqdf <- chara_to_NumDate(aqdf) ``` # Aqueous Data QC **This markdown, shows the finalized results from "Test Different Linkage Analysis Aq & BB Year Pairings" markdown, which evaluated data year range selection and which statistic to use for the linkage model. "Original Linkage" refers to the linkage analysis in the 2010 TMDL Staff Report, which used data from the year 2000.** ## View Unique Factors ```{r} aqdf %>% mutate(AnalyteUnitMatrix = paste(Analyte, '-', Unit, '-', MatrixName)) %>% unique_factors(SourceID, Subarea, AnalyteUnitMatrix, WBT) ``` ## Change X2 Subarea to West Delta ```{r} aqData1 <- aqdf %>% mutate(Subarea = recode(Subarea, "X2" = "West Delta")) # Change X2 to West Delta, consistent with the 2010 TMDL Staff Report ``` ## Change Cache Creek Settling Basin Subarea to Yolo Bypass North ```{r} aqData2 <- aqData1 %>% mutate(Subarea = recode(Subarea, "Cache Creek Settling Basin" = "Yolo Bypass North")) # Change Cache Creek Settling Basin to Yolo Bypass North, consistent with DMCP Review proposal ``` ## Select "Methylmercury, Total", "ng/L", "Aqueous" ```{r} # Select only aqueous MeHg as in 2010 TMDL Staff Report aqData3 <- aqData2 %>% filter(Analyte == 'Methylmercury, Total', Unit == 'ng/L', MatrixName == 'Aqueous') ``` ## View Factors for Final Data Selection ```{r} aqData3 %>% mutate(AnalyteUnitMatrix = paste(Analyte, '-', Unit, '-', MatrixName)) %>% unique_factors(SourceID, Subarea, AnalyteUnitMatrix, WBT, waterYear) ``` ## Estimate ND & DNQ Values ```{r} aqNDDNQs <- robinNDDNQ(aqData3, ResultQualCode) ``` ### View Fitted Distribution Graphs ```{r, echo=FALSE} ui <- fluidPage( selectInput('distName', label='Select Distribution', choices=names(aqNDDNQs), selected=1), plotOutput('distPlot') ) server <- function(input, output, session) { output$distPlot <- renderPlot({ plot(aqNDDNQs[[input$distName]]$fitmodel) # view plot fits title(input$distName, outer=T) }) } shinyApp(ui, server, options=list(height=500)) ``` ### Select Best Distribution Model ```{r} aqData4 <- aqNDDNQs$llogis$fitted # best fit distribution model, used in linkage code ``` ### Select WY2000-2019 ```{r} aqData5 <- aqData4 %>% filter(waterYear > 1999) ``` ###Find Daily MeHg Median and Mean Concentrations by Subarea (comes from Trib Code) ```{r} aqData6 <- aqData5 %>% group_by(Subarea, StationName, SampleDate) %>% mutate(DailyMedian = median(Result, na.rm=T), DailyMean = mean(Result, na.rm=T)) %>% distinct(Subarea, StationName, SampleDate, DailyMedian, .keep_all = TRUE) %>% select(Subarea, StationName, SampleDate, DailyMedian, DailyMean, Year, waterYear) ``` ###Find Subarea WY Annual Median and Mean Concentrations ```{r} aqData7 <- aqData6 %>% group_by(Subarea, waterYear) %>% summarise(WYMedian = median(DailyMedian, na.rm=T), WYMean = mean(DailyMean, na.rm=T), N = n(), WYMax = max(DailyMedian, na.rm=T), WYMin = min(DailyMedian, na.rm=T)) ``` ###Find Subarea Annual Median and Mean Concentrations of all WY Median and Mean Concentrations ```{r} aqData8 <- aqData7 %>% group_by(Subarea) %>% summarise(AnnualMedian = median(WYMedian, na.rm=T), AnnualMean = mean(WYMean, na.rm=T), N = n(), AnnualMax = max(WYMedian, na.rm=T), AnnualMin = min(WYMedian, na.rm=T)) ``` ##Filter for Yolo Bypass Combined ```{r} YB1 <- aqData5 %>% filter(Subarea %in% c("Yolo Bypass North", "Yolo Bypass South")) %>% mutate(Subarea = "Yolo Bypass Combined") ``` ###Find Daily MeHg Median and Mean Concentrations for Yolo Bypass Combined ```{r} YB2 <- YB1 %>% group_by(Subarea, StationName, SampleDate) %>% mutate(DailyMedian = median(Result, na.rm=T), DailyMean = mean(Result, na.rm=T)) %>% distinct(Subarea, StationName, SampleDate, DailyMedian, .keep_all = TRUE) %>% select(Subarea, StationName, SampleDate, DailyMedian, DailyMean, Year, waterYear) ``` ###Find Subarea WY Annual Median and Mean Concentrations for Yolo Bypass Combined ```{r} YB3 <- YB2 %>% group_by(Subarea, waterYear) %>% summarise(WYMedian = median(DailyMedian, na.rm=T), WYMean = mean(DailyMean, na.rm=T), N = n(), WYMax = max(DailyMedian, na.rm=T), WYMin = min(DailyMedian, na.rm=T)) ``` ###Find Subarea Annual Median and Mean Concentrations of all WY Median and Mean Concentrations for Yolo Bypass Combined ```{r} YB4 <- YB3 %>% group_by(Subarea) %>% summarise(AnnualMedian = median(WYMedian, na.rm=T), AnnualMean = mean(WYMean, na.rm=T), N = n(), AnnualMax = max(WYMedian, na.rm=T), AnnualMin = min(WYMedian, na.rm=T)) ``` ## Export to Excel ```{r} writexl::write_xlsx(YB4, paste0('Scenarios A & B WY HCIs/Scenario B_WY20002019 Yolo Bypass Combined MeHg Conc', today(), '.xlsx')) writexl::write_xlsx(aqData8, paste0('Scenarios A & B WY HCIs/Scenario B_WY20002019 Subarea MeHg Conc', today(), '.xlsx')) writexl::write_xlsx(aqData6, paste0('Scenarios A & B WY HCIs/Scenario B_WYs Used Per Subarea', today(), '.xlsx')) ```
## Error: <text>:18:1: unexpected '<' ## 17: ## 18: < ## ^
The R session information (including the OS info, R version and all packages used):
sessionInfo()
## R version 4.2.2 (2022-10-31 ucrt) ## Platform: x86_64-w64-mingw32/x64 (64-bit) ## Running under: Windows 10 x64 (build 22621) ## ## Matrix products: default ## ## locale: ## [1] LC_COLLATE=English_United States.utf8 LC_CTYPE=English_United States.utf8 ## [3] LC_MONETARY=English_United States.utf8 LC_NUMERIC=C ## [5] LC_TIME=English_United States.utf8 ## ## attached base packages: ## [1] stats graphics grDevices utils datasets methods base ## ## loaded via a namespace (and not attached): ## [1] compiler_4.2.2 magrittr_2.0.3 tools_4.2.2 stringi_1.7.6 highr_0.9 ## [6] knitr_1.39 stringr_1.4.0 xfun_0.31 evaluate_0.15
Sys.time()
## [1] "2023-12-26 12:12:58 PST"