library(tidyverse)
library(readxl)
library(tidyr)
library(dplyr)
library(hexbin)
library(RSQLite)
library(dataMaid)
library(janitor)
library(purrr)
library(readr)
#these seem to be the parameters used in the data#
Physiochemical_parameters <- data.frame("Para." = c("1", "2", "3" ,
"4", "5", "6", "7" , "8", "9", "10", "11" , "12", "13", "14" , "15", "16", "17",
"18", "19", "20") , phyChem_parameter_Description= c("Secchi Depth and Color (meters)", "Temperature (celsius)" , "Light Temperature (% TRN)" , "Turbidity (PPM Mg/L)" , "pH" , "Dissolved Oxygen (% SAT)" , "Alkalinity (Mg/L)" , "Conductivity (UMHOS/cm)" , "Calcium (Mg/L)" , "Magnesium (PPM Mg/L)" , "Potassium (PPM Mg/L)" , "Sodium (PPM Mg/L)" , "Chloride (PPM Mg/L)" , "Chlorophyll a (PPB)" , "SiO2 (PPB)" , "Soluble (PO4)" ,
"Total PO4 (PPB)" , "NO3-N (PPB)" , "NH3-N (PPB)" , "Phaeopigments (PPB)") , stringsAsFactors = FALSE) %>%
mutate(Para. = as.numeric(Para.))
Morphological_Parameters <- data.frame("Para._Morpho." = c("1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10 " , "11" , "12") , Morphological_parameter_description = c("Maximum Depth" , "Mean Depth" , "Maximum Length" , "Maximum Width" , "Mean Width" , "Shoreline Length" , "Surface Area" , "Watershed Area" , "Volume" , "Shoreline Development Factor" , "Volume Development Factor" , "Watershed Area/Surface Area Ration")) %>%
mutate(Para._Morpho. = as.numeric(Para._Morpho.))
Lake_key <- data.frame(Lake= c("1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "11" , "12" , "13" , "14" , "15" , "16" , "17" , "18" , "19" , " 20" , "21" , "22" ,"23" , "24" , "25" , "26" , "27" , "28" , "29" , "30" , "31" , "32" , "33" , "34" , "35" , "36" , "37" , "38" , "39" , "40" , "41" , "42" , "43" , "44" , "45" , "46" , "47" , "48" , "49") , Lake_name = c("Arnott" , "Black" , "Bryant's Bog" , "Burt" , "Carp" , "Charlevoix" , "Cochran" , "Cornwall Creek" , "Crooked" , "Deveraux" , "Dog" ,"Alverno Pond" , "French Farm" , "Hackett" , "Hoop" , "Kleber Pond" , "Larks", "Lancaster" , "Lance" , "Livingston Bog" , "Long" , "McLavey" , "Mud Lake Bog" , "Mud (Emmet Co.)" , "Spring" , "Mullett" , "Munro" , "Osmun" , "Pickerel" , "Roberts" , "Round" , "Silver-(Cheboygan Co.)" , "Silver (BSA)" , "Twin - A" , "Twin - B", "Twin - C" , "Twin - D" , "Twin - E" , "Twi n- F" , "Twin - G" , "Twin (Isolated)" , "Vincent" , "Walloon" , "Weber" , "Wildwood" , "Wycamp" , "Stoney Creek" , "Twin (Total)" , "Douglas")) %>%
mutate(Lake = as.numeric(Lake))
Lake_key
Season_key <- data.frame(Seas.= c("1" , "2" , "3" , "4" , "5" , "6" , "7" ,"8" , "9" , "10") , Season_and_year = c("Fall 72" , "Winter 73" , "Spring 73" , "Summer 73" , "Fall 73" , "Winter 74" , "Spring 74" , "Summer 74" , "Fall 74" , "Winter 75")) %>%
mutate(Seas. = as.numeric(Seas.))
Seas_column <- function(x) {x %>% inner_join(Season_key)}
Lake_column <- function(x) {x %>% inner_join(Lake_key)}
phychem_column <- function(x) {x %>% inner_join(Physiochemical_parameters)}
renaming <- function(x) {rename(x, Lake_code = Lake , Season_code = Seas. , Depth_meters = Depth , Phys_chem_parameter_code = Para. , Station = Stat.)}
arranging <- function(x) {select(x, Lake_code, Lake_name, Season_code, Season_and_year, Phys_chem_parameter_code, phyChem_parameter_Description, Value, Depth_meters)}
ordering <- function(x) {arrange(x, Season_code)}
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayAtIFJBTk4gTGFrZXMgbm9ydGhlcm4gbG93ZXIgcGVubmlzdWxhIG9mIE1pY2hpZ2FuIC0gMTk3My0xOTc3IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCgoKYGBge3J9CmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KHJlYWR4bCkKbGlicmFyeSh0aWR5cikKbGlicmFyeShkcGx5cikKbGlicmFyeShoZXhiaW4pCmxpYnJhcnkoUlNRTGl0ZSkKbGlicmFyeShkYXRhTWFpZCkKbGlicmFyeShqYW5pdG9yKQpsaWJyYXJ5KHB1cnJyKQpsaWJyYXJ5KHJlYWRyKQpgYGAKCmBgYHtyfQojdGhlc2Ugc2VlbSB0byBiZSB0aGUgcGFyYW1ldGVycyB1c2VkIGluIHRoZSBkYXRhIwpQaHlzaW9jaGVtaWNhbF9wYXJhbWV0ZXJzIDwtIGRhdGEuZnJhbWUoIlBhcmEuIiA9IGMoIjEiLCAiMiIsICIzIiAsCiI0IiwgIjUiLCAiNiIsICI3IiAsICI4IiwgIjkiLCAiMTAiLCAiMTEiICwgIjEyIiwgIjEzIiwgIjE0IiAsICIxNSIsICIxNiIsICIxNyIsIAoiMTgiLCAiMTkiLCAiMjAiKSAsIHBoeUNoZW1fcGFyYW1ldGVyX0Rlc2NyaXB0aW9uPSBjKCJTZWNjaGkgRGVwdGggYW5kIENvbG9yIChtZXRlcnMpIiwgIlRlbXBlcmF0dXJlIChjZWxzaXVzKSIgLCAiTGlnaHQgVGVtcGVyYXR1cmUgKCUgVFJOKSIgLCAiVHVyYmlkaXR5IChQUE0gTWcvTCkiICwgInBIIiAsICJEaXNzb2x2ZWQgT3h5Z2VuICglIFNBVCkiICwgIkFsa2FsaW5pdHkgKE1nL0wpIiAsICJDb25kdWN0aXZpdHkgKFVNSE9TL2NtKSIgLCAiQ2FsY2l1bSAoTWcvTCkiICwgIk1hZ25lc2l1bSAoUFBNIE1nL0wpIiAsICJQb3Rhc3NpdW0gKFBQTSBNZy9MKSIgLCAiU29kaXVtIChQUE0gTWcvTCkiICwgIkNobG9yaWRlIChQUE0gTWcvTCkiICwgIkNobG9yb3BoeWxsIGEgKFBQQikiICwgIlNpTzIgKFBQQikiICwgIlNvbHVibGUgKFBPNCkiICwgCiJUb3RhbCBQTzQgKFBQQikiICwgIk5PMy1OIChQUEIpIiAsICJOSDMtTiAoUFBCKSIgLCAiUGhhZW9waWdtZW50cyAoUFBCKSIpICwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNFKSAlPiUgCiAgbXV0YXRlKFBhcmEuID0gYXMubnVtZXJpYyhQYXJhLikpCgoKTW9ycGhvbG9naWNhbF9QYXJhbWV0ZXJzIDwtIGRhdGEuZnJhbWUoIlBhcmEuX01vcnBoby4iID0gYygiMSIgLCAiMiIgLCAiMyIgLCAiNCIgLCAiNSIgLCAiNiIgLCAiNyIgLCAiOCIgLCAiOSIgLCAiMTAgIiAsICIxMSIgLCAiMTIiKSAsIE1vcnBob2xvZ2ljYWxfcGFyYW1ldGVyX2Rlc2NyaXB0aW9uID0gYygiTWF4aW11bSBEZXB0aCIgLCAiTWVhbiBEZXB0aCIgLCAiTWF4aW11bSBMZW5ndGgiICwgIk1heGltdW0gV2lkdGgiICwgIk1lYW4gV2lkdGgiICwgIlNob3JlbGluZSBMZW5ndGgiICwgIlN1cmZhY2UgQXJlYSIgLCAiV2F0ZXJzaGVkIEFyZWEiICwgIlZvbHVtZSIgLCAiU2hvcmVsaW5lIERldmVsb3BtZW50IEZhY3RvciIgLCAiVm9sdW1lIERldmVsb3BtZW50IEZhY3RvciIgLCAiV2F0ZXJzaGVkIEFyZWEvU3VyZmFjZSBBcmVhIFJhdGlvbiIpKSAlPiUgCiAgbXV0YXRlKFBhcmEuX01vcnBoby4gPSBhcy5udW1lcmljKFBhcmEuX01vcnBoby4pKQoKCkxha2Vfa2V5IDwtIGRhdGEuZnJhbWUoTGFrZT0gYygiMSIgLCAiMiIgLCAiMyIgLCAiNCIgLCAiNSIgLCAiNiIgLCAiNyIgLCAiOCIgLCAiOSIgLCAiMTAiICwgIjExIiAsICIxMiIgLCAiMTMiICwgIjE0IiAsICIxNSIgLCAiMTYiICwgIjE3IiAsICIxOCIgLCAiMTkiICwgIiAyMCIgLCAiMjEiICwgIjIyIiAsIjIzIiAsICIyNCIgLCAiMjUiICwgIjI2IiAsICIyNyIgLCAiMjgiICwgIjI5IiAsICIzMCIgLCAiMzEiICwgIjMyIiAsICIzMyIgLCAiMzQiICwgIjM1IiAsICIzNiIgLCAiMzciICwgIjM4IiAsICIzOSIgLCAiNDAiICwgIjQxIiAsICI0MiIgLCAiNDMiICwgIjQ0IiAsICI0NSIgLCAiNDYiICwgIjQ3IiAsICI0OCIgLCAiNDkiKSAsIExha2VfbmFtZSA9IGMoIkFybm90dCIgLCAiQmxhY2siICwgIkJyeWFudCdzIEJvZyIgLCAiQnVydCIgLCAiQ2FycCIgLCAiQ2hhcmxldm9peCIgLCAiQ29jaHJhbiIgLCAiQ29ybndhbGwgQ3JlZWsiICwgIkNyb29rZWQiICwgIkRldmVyYXV4IiAsICJEb2ciICwiQWx2ZXJubyBQb25kIiAsICJGcmVuY2ggRmFybSIgLCAiSGFja2V0dCIgLCAiSG9vcCIgLCAiS2xlYmVyIFBvbmQiICwgIkxhcmtzIiwgIkxhbmNhc3RlciIgLCAiTGFuY2UiICwgIkxpdmluZ3N0b24gQm9nIiAsICJMb25nIiAsICJNY0xhdmV5IiAsICJNdWQgTGFrZSBCb2ciICwgIk11ZCAoRW1tZXQgQ28uKSIgLCAgIlNwcmluZyIgLCAiTXVsbGV0dCIgLCAiTXVucm8iICwgIk9zbXVuIiAsICJQaWNrZXJlbCIgLCAiUm9iZXJ0cyIgLCAiUm91bmQiICwgIlNpbHZlci0oQ2hlYm95Z2FuIENvLikiICwgIlNpbHZlciAoQlNBKSIgLCAiVHdpbiAtIEEiICwgIlR3aW4gLSBCIiwgIlR3aW4gLSBDIiAsICJUd2luIC0gRCIgLCAiVHdpbiAtIEUiICwgIlR3aSBuLSBGIiAsICJUd2luIC0gRyIgLCAiVHdpbiAoSXNvbGF0ZWQpIiAsICJWaW5jZW50IiAsICJXYWxsb29uIiAsICJXZWJlciIgLCAiV2lsZHdvb2QiICwgIld5Y2FtcCIgLCAiU3RvbmV5IENyZWVrIiAsICJUd2luIChUb3RhbCkiICwgIkRvdWdsYXMiKSkgJT4lIAogIG11dGF0ZShMYWtlID0gYXMubnVtZXJpYyhMYWtlKSkKTGFrZV9rZXkKClNlYXNvbl9rZXkgPC0gZGF0YS5mcmFtZShTZWFzLj0gYygiMSIgLCAiMiIgLCAiMyIgLCAiNCIgLCAiNSIgLCAiNiIgLCAiNyIgLCI4IiAsICI5IiAsICIxMCIpICwgU2Vhc29uX2FuZF95ZWFyID0gYygiRmFsbCA3MiIgLCAiV2ludGVyIDczIiAsICJTcHJpbmcgNzMiICwgIlN1bW1lciA3MyIgLCAiRmFsbCA3MyIgLCAiV2ludGVyIDc0IiAsICJTcHJpbmcgNzQiICwgIlN1bW1lciA3NCIgLCAiRmFsbCA3NCIgLCAiV2ludGVyIDc1IikpICU+JSAKICBtdXRhdGUoU2Vhcy4gPSBhcy5udW1lcmljKFNlYXMuKSkKYGBgCgpgYGB7cn0KU2Vhc19jb2x1bW4gPC0gZnVuY3Rpb24oeCkge3ggJT4lICBpbm5lcl9qb2luKFNlYXNvbl9rZXkpfQpMYWtlX2NvbHVtbiA8LSBmdW5jdGlvbih4KSB7eCAlPiUgaW5uZXJfam9pbihMYWtlX2tleSl9CnBoeWNoZW1fY29sdW1uIDwtIGZ1bmN0aW9uKHgpIHt4ICU+JSBpbm5lcl9qb2luKFBoeXNpb2NoZW1pY2FsX3BhcmFtZXRlcnMpfQpyZW5hbWluZyA8LSBmdW5jdGlvbih4KSB7cmVuYW1lKHgsIExha2VfY29kZSA9IExha2UgLCBTZWFzb25fY29kZSA9IFNlYXMuICwgRGVwdGhfbWV0ZXJzID0gRGVwdGggLCBQaHlzX2NoZW1fcGFyYW1ldGVyX2NvZGUgPSBQYXJhLiAsIFN0YXRpb24gPSBTdGF0Lil9CmFycmFuZ2luZyA8LSBmdW5jdGlvbih4KSB7c2VsZWN0KHgsIExha2VfY29kZSwgTGFrZV9uYW1lLCBTZWFzb25fY29kZSwgU2Vhc29uX2FuZF95ZWFyLCBQaHlzX2NoZW1fcGFyYW1ldGVyX2NvZGUsIHBoeUNoZW1fcGFyYW1ldGVyX0Rlc2NyaXB0aW9uLCBWYWx1ZSwgRGVwdGhfbWV0ZXJzKX0Kb3JkZXJpbmcgPC0gZnVuY3Rpb24oeCkge2FycmFuZ2UoeCwgU2Vhc29uX2NvZGUpfQoKYGBgCgoKCgpgYGB7cn0KI3NldHdkKCJDOi9Vc2Vycy9hYXJvbi9PbmVEcml2ZS9Eb2N1bWVudHMvV29ya19zdHVkeS9SLWFuZC1FeGNlbC1wcm9qZWN0cy9SQU5OL1JBTk5MYWtlcy9kYXRhX3Jhdy9SQU5OTGFrZXMvTEFLRVMvTWFzdGVyX2xha2VfbGlzdF9Eb3VnbGFzIikKI3NldHdkKCJ+L0Rlc2t0b3AvUkFOTkxha2VzL0xBS0VTLyIpCiNmaWxlc19Eb3VnbGFzIDwtIGRpcihwYXR0ZXJuID0gIioueGxzeCIpCgp0ZXN0IDwtIGxpc3QuZmlsZXMoIn4vRGVza3RvcC9SQU5OTGFrZXMvTWFzdGVyX2xha2VfbGlzdF9Eb3VnbGFzLyIsIHBhdHRlcm4gPSAneGxzeCcpCiNmaWxlc19Eb3VnbGFzCgoKbWFzdGVyX2RhdGFfRG91Z2xhcyA8LSB0ZXN0ICU+JQogIG1hcChyZWFkX2V4Y2VsKSAlPiUKICByZWR1Y2UocmJpbmQpCm1hc3Rlcl9kYXRhX0RvdWdsYXMKCgpSQU5OTWFzdGVybGlzdF9Eb3VnbGFzIDwtIFNlYXNfY29sdW1uKG1hc3Rlcl9kYXRhX0RvdWdsYXMpICU+JSAKICBMYWtlX2NvbHVtbigpICU+JSAKICBwaHljaGVtX2NvbHVtbigpICU+JSAKICByZW5hbWluZygpICU+JSAKICBhcnJhbmdpbmcoKSAlPiUgCiAgb3JkZXJpbmcoKQoKI3NldHdkKCJDOi9Vc2Vycy9hYXJvbi9PbmVEcml2ZS9Eb2N1bWVudHMvV29ya19zdHVkeS9SLWFuZC1FeGNlbC1wcm9qZWN0cy9SQU5OL1JBTk5MYWtlcy9kYXRhX3Jhdy9SQU5OTGFrZXMvTEFLRVMvTWFzdGVyX2xha2VfbGlzdCIpCnNldHdkKCJ+L0xpYnJhcnkvQ2xvdWRTdG9yYWdlL0dvb2dsZURyaXZlLWp0YWxsYW50QHVtaWNoLmVkdS9TaGFyZWQgZHJpdmVzL1VNQlNfRGF0YS9SQU5OTGFrZXMvTEFLRVMiKQpmaWxlcyA8LSBkaXIocGF0dGVybiA9ICIqLnhsc3giKQpmaWxlcwoKCm1hc3Rlcl9kYXRhIDwtIHRlc3QgJT4lCiAgbWFwKHJlYWRfZXhjZWwpICU+JQogIHJlZHVjZShyYmluZCkKbWFzdGVyX2RhdGEKCgpSQU5OTWFzdGVybGlzdCA8LSBTZWFzX2NvbHVtbihtYXN0ZXJfZGF0YSkgJT4lIAogIExha2VfY29sdW1uKCkgJT4lIAogIHBoeWNoZW1fY29sdW1uKCkgJT4lIAogIHJlbmFtaW5nKCkgJT4lIAogIGFycmFuZ2luZygpICU+JSAKICBvcmRlcmluZygpCgpSQU5OTWFzdGVybGlzdF9Eb3VnbGFzClJBTk5NYXN0ZXJsaXN0CgpgYGAKCgoKCgoKCgoK