This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.
Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Ctrl+Shift+Enter.
suppressMessages(library(rJava))
suppressMessages(library(RJDBC))
suppressMessages(library(DBI))
suppressMessages(library(lubridate))
suppressMessages(library(tidyverse))
suppressMessages(library(knitr))
# Create connection driver and open connection
jdbcDriver <- JDBC(driverClass="oracle.jdbc.OracleDriver",
classPath="C:/Users/gbbuck/Documents/ojdbc8.jar")
if(dbCanConnect(jdbcDriver,"jdbc:oracle:thin:@//10.209.2.103:1521/dfgmarinerp.us1.ocm.s7134325.oraclecloudatcustomer.com",
"mariner", "reniraM2012")){
jdbcConnection <- dbConnect(jdbcDriver,
"jdbc:oracle:thin:@//10.209.2.103:1521/dfgmarinerp.us1.ocm.s7134325.oraclecloudatcustomer.com",
"mariner", "reniraM2012")
}else{
jdbcConnection <- dbConnect(jdbcDriver,
"jdbc:oracle:thin:@//10.209.2.104:1521/dfgmarinerp.us1.ocm.s7134325.oraclecloudatcustomer.com",
"mariner", "reniraM2012")
}
tmp1 <- dbGetQuery(jdbcConnection,"SELECT * FROM PMARINR.BBAY_ESCAPEMENT_ARCH")
tmp2 <- dbGetQuery(jdbcConnection,"SELECT * FROM PMARINR.BBAY_ESCAPEMENT")
tmp3 <- dbGetQuery(jdbcConnection,"SELECT * FROM PMARINR.BBAY_ESCAPEMENT_ARCH_FEB_2003")
tmp4 <- dbGetQuery(jdbcConnection,"SELECT * FROM PMARINR.BBAY_ESCAPEMENT_FEB_2003")
master <- list(tmp1,tmp2,tmp3,tmp4)
rm(tmp1,tmp2,tmp3,tmp4)
master.sockeye <- lapply(master, function(x) { x["SPECIES_CODE"] = "420"; x })
master.chinook <- lapply(master, function(x) { x["SPECIES_CODE"] = "410"; x })
master.chum <- lapply(master, function(x) { x["SPECIES_CODE"] = "450"; x })
rm(master)
# make sockeye summary
for(i in 1:4){
t <- as.vector(names(master.sockeye[[i]]))
if("CF_STREAM_CODE" %in% t){
a <- match("CF_STREAM_CODE",t)
t <- replace(t,a,"STREAM_NO")
names(master.sockeye[[i]]) <- t
} # end if
} # end for
master.sockeye <- lapply(master.sockeye, function(x) {
mutate(x,
year=year(ESCAPEMENT_DATE))
})
master.sockeye.summary <- lapply(master.sockeye, function(x) {aggregate(DAILY_CUM ~ year + STREAM_NO, data = x, sum) })
rm(master.sockeye)
# make chinook summary
for(i in 1:4){
t <- as.vector(names(master.chinook[[i]]))
if("CF_STREAM_CODE" %in% t){
a <- match("CF_STREAM_CODE",t)
t <- replace(t,a,"STREAM_NO")
names(master.chinook[[i]]) <- t
} # end if
} # end for
master.chinook <- lapply(master.chinook, function(x) {
mutate(x,
year=year(ESCAPEMENT_DATE))
})
master.chinook.summary <- lapply(master.chinook, function(x) {aggregate(DAILY_CUM ~ year + STREAM_NO, data = x, sum) })
rm(master.chinook)
# make chum summary
for(i in 1:4){
t <- as.vector(names(master.chum[[i]]))
if("CF_STREAM_CODE" %in% t){
a <- match("CF_STREAM_CODE",t)
t <- replace(t,a,"STREAM_NO")
names(master.chum[[i]]) <- t
} # end if
} # end for
rm(a,t,i)
master.chum <- lapply(master.chum, function(x) {
mutate(x,
year=year(ESCAPEMENT_DATE))
})
master.chum.summary <- lapply(master.chum, function(x) {aggregate(DAILY_CUM ~ year + STREAM_NO, data = x, sum) })
rm(master.chum)
Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Ctrl+Alt+I.
When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Ctrl+Shift+K to preview the HTML file).
The preview shows you a rendered HTML copy of the contents of the editor. Consequently, unlike Knit, Preview does not run any R code chunks. Instead, the output of the chunk when it was last run in the editor is displayed.
temp <- master.sockeye.summary[[1]]
tmp <- temp %>%
spread(STREAM_NO,DAILY_CUM) %>%
kable(format = "html", booktabs = T)
LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6ICBodG1sX25vdGVib29rDQotLS0NCg0KVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gDQoNClRyeSBleGVjdXRpbmcgdGhpcyBjaHVuayBieSBjbGlja2luZyB0aGUgKlJ1biogYnV0dG9uIHdpdGhpbiB0aGUgY2h1bmsgb3IgYnkgcGxhY2luZyB5b3VyIGN1cnNvciBpbnNpZGUgaXQgYW5kIHByZXNzaW5nICpDdHJsK1NoaWZ0K0VudGVyKi4gDQoNCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQoNCg0Kc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KHJKYXZhKSkNCnN1cHByZXNzTWVzc2FnZXMobGlicmFyeShSSkRCQykpDQpzdXBwcmVzc01lc3NhZ2VzKGxpYnJhcnkoREJJKSkNCnN1cHByZXNzTWVzc2FnZXMobGlicmFyeShsdWJyaWRhdGUpKQ0Kc3VwcHJlc3NNZXNzYWdlcyhsaWJyYXJ5KHRpZHl2ZXJzZSkpDQpzdXBwcmVzc01lc3NhZ2VzKGxpYnJhcnkoa25pdHIpKQ0KDQoNCiMgQ3JlYXRlIGNvbm5lY3Rpb24gZHJpdmVyIGFuZCBvcGVuIGNvbm5lY3Rpb24NCmpkYmNEcml2ZXIgPC0gSkRCQyhkcml2ZXJDbGFzcz0ib3JhY2xlLmpkYmMuT3JhY2xlRHJpdmVyIiwgDQogICAgICAgICAgICAgICAgICAgY2xhc3NQYXRoPSJDOi9Vc2Vycy9nYmJ1Y2svRG9jdW1lbnRzL29qZGJjOC5qYXIiKQ0KDQoNCmlmKGRiQ2FuQ29ubmVjdChqZGJjRHJpdmVyLCJqZGJjOm9yYWNsZTp0aGluOkAvLzEwLjIwOS4yLjEwMzoxNTIxL2RmZ21hcmluZXJwLnVzMS5vY20uczcxMzQzMjUub3JhY2xlY2xvdWRhdGN1c3RvbWVyLmNvbSIsDQogICAgICAgICAgICAgICAgIm1hcmluZXIiLCAicmVuaXJhTTIwMTIiKSl7DQogIGpkYmNDb25uZWN0aW9uIDwtIGRiQ29ubmVjdChqZGJjRHJpdmVyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImpkYmM6b3JhY2xlOnRoaW46QC8vMTAuMjA5LjIuMTAzOjE1MjEvZGZnbWFyaW5lcnAudXMxLm9jbS5zNzEzNDMyNS5vcmFjbGVjbG91ZGF0Y3VzdG9tZXIuY29tIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtYXJpbmVyIiwgInJlbmlyYU0yMDEyIikNCn1lbHNlew0KICBqZGJjQ29ubmVjdGlvbiA8LSBkYkNvbm5lY3QoamRiY0RyaXZlciwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqZGJjOm9yYWNsZTp0aGluOkAvLzEwLjIwOS4yLjEwNDoxNTIxL2RmZ21hcmluZXJwLnVzMS5vY20uczcxMzQzMjUub3JhY2xlY2xvdWRhdGN1c3RvbWVyLmNvbSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibWFyaW5lciIsICJyZW5pcmFNMjAxMiIpDQp9DQoNCnRtcDEgPC0gZGJHZXRRdWVyeShqZGJjQ29ubmVjdGlvbiwiU0VMRUNUICogRlJPTSBQTUFSSU5SLkJCQVlfRVNDQVBFTUVOVF9BUkNIIikNCnRtcDIgPC0gZGJHZXRRdWVyeShqZGJjQ29ubmVjdGlvbiwiU0VMRUNUICogRlJPTSBQTUFSSU5SLkJCQVlfRVNDQVBFTUVOVCIpDQp0bXAzIDwtIGRiR2V0UXVlcnkoamRiY0Nvbm5lY3Rpb24sIlNFTEVDVCAqIEZST00gUE1BUklOUi5CQkFZX0VTQ0FQRU1FTlRfQVJDSF9GRUJfMjAwMyIpDQp0bXA0IDwtIGRiR2V0UXVlcnkoamRiY0Nvbm5lY3Rpb24sIlNFTEVDVCAqIEZST00gUE1BUklOUi5CQkFZX0VTQ0FQRU1FTlRfRkVCXzIwMDMiKQ0KDQptYXN0ZXIgPC0gbGlzdCh0bXAxLHRtcDIsdG1wMyx0bXA0KQ0Kcm0odG1wMSx0bXAyLHRtcDMsdG1wNCkNCg0KbWFzdGVyLnNvY2tleWUgPC0gbGFwcGx5KG1hc3RlciwgZnVuY3Rpb24oeCkgeyB4WyJTUEVDSUVTX0NPREUiXSA9ICI0MjAiOyB4IH0pDQptYXN0ZXIuY2hpbm9vayA8LSBsYXBwbHkobWFzdGVyLCBmdW5jdGlvbih4KSB7IHhbIlNQRUNJRVNfQ09ERSJdID0gIjQxMCI7IHggfSkNCm1hc3Rlci5jaHVtIDwtIGxhcHBseShtYXN0ZXIsIGZ1bmN0aW9uKHgpIHsgeFsiU1BFQ0lFU19DT0RFIl0gPSAiNDUwIjsgeCB9KQ0Kcm0obWFzdGVyKQ0KDQojIG1ha2Ugc29ja2V5ZSBzdW1tYXJ5DQpmb3IoaSBpbiAxOjQpew0KdCA8LSBhcy52ZWN0b3IobmFtZXMobWFzdGVyLnNvY2tleWVbW2ldXSkpDQppZigiQ0ZfU1RSRUFNX0NPREUiICVpbiUgdCl7DQogIGEgPC0gbWF0Y2goIkNGX1NUUkVBTV9DT0RFIix0KQ0KICB0IDwtIHJlcGxhY2UodCxhLCJTVFJFQU1fTk8iKQ0KICBuYW1lcyhtYXN0ZXIuc29ja2V5ZVtbaV1dKSA8LSB0DQogIH0gIyBlbmQgaWYNCn0gIyBlbmQgZm9yDQoNCm1hc3Rlci5zb2NrZXllIDwtIGxhcHBseShtYXN0ZXIuc29ja2V5ZSwgZnVuY3Rpb24oeCkgew0KICAgICAgICAgICAgbXV0YXRlKHgsDQogICAgICAgICAgICAgIHllYXI9eWVhcihFU0NBUEVNRU5UX0RBVEUpKQ0KfSkNCg0KbWFzdGVyLnNvY2tleWUuc3VtbWFyeSA8LSBsYXBwbHkobWFzdGVyLnNvY2tleWUsIGZ1bmN0aW9uKHgpIHthZ2dyZWdhdGUoREFJTFlfQ1VNIH4geWVhciArIFNUUkVBTV9OTywgZGF0YSA9IHgsIHN1bSkgfSkNCnJtKG1hc3Rlci5zb2NrZXllKQ0KDQojIG1ha2UgY2hpbm9vayBzdW1tYXJ5DQpmb3IoaSBpbiAxOjQpew0KICB0IDwtIGFzLnZlY3RvcihuYW1lcyhtYXN0ZXIuY2hpbm9va1tbaV1dKSkNCiAgaWYoIkNGX1NUUkVBTV9DT0RFIiAlaW4lIHQpew0KICAgIGEgPC0gbWF0Y2goIkNGX1NUUkVBTV9DT0RFIix0KQ0KICAgIHQgPC0gcmVwbGFjZSh0LGEsIlNUUkVBTV9OTyIpDQogICAgbmFtZXMobWFzdGVyLmNoaW5vb2tbW2ldXSkgPC0gdA0KICB9ICMgZW5kIGlmDQp9ICMgZW5kIGZvcg0KDQptYXN0ZXIuY2hpbm9vayA8LSBsYXBwbHkobWFzdGVyLmNoaW5vb2ssIGZ1bmN0aW9uKHgpIHsNCiAgbXV0YXRlKHgsDQogICAgICAgICB5ZWFyPXllYXIoRVNDQVBFTUVOVF9EQVRFKSkNCn0pDQoNCm1hc3Rlci5jaGlub29rLnN1bW1hcnkgPC0gbGFwcGx5KG1hc3Rlci5jaGlub29rLCBmdW5jdGlvbih4KSB7YWdncmVnYXRlKERBSUxZX0NVTSB+IHllYXIgKyBTVFJFQU1fTk8sIGRhdGEgPSB4LCBzdW0pIH0pDQpybShtYXN0ZXIuY2hpbm9vaykNCg0KIyBtYWtlIGNodW0gc3VtbWFyeQ0KZm9yKGkgaW4gMTo0KXsNCiAgdCA8LSBhcy52ZWN0b3IobmFtZXMobWFzdGVyLmNodW1bW2ldXSkpDQogIGlmKCJDRl9TVFJFQU1fQ09ERSIgJWluJSB0KXsNCiAgICBhIDwtIG1hdGNoKCJDRl9TVFJFQU1fQ09ERSIsdCkNCiAgICB0IDwtIHJlcGxhY2UodCxhLCJTVFJFQU1fTk8iKQ0KICAgIG5hbWVzKG1hc3Rlci5jaHVtW1tpXV0pIDwtIHQNCiAgfSAjIGVuZCBpZg0KfSAjIGVuZCBmb3INCnJtKGEsdCxpKQ0KDQptYXN0ZXIuY2h1bSA8LSBsYXBwbHkobWFzdGVyLmNodW0sIGZ1bmN0aW9uKHgpIHsNCiAgbXV0YXRlKHgsDQogICAgICAgICB5ZWFyPXllYXIoRVNDQVBFTUVOVF9EQVRFKSkNCn0pDQoNCm1hc3Rlci5jaHVtLnN1bW1hcnkgPC0gbGFwcGx5KG1hc3Rlci5jaHVtLCBmdW5jdGlvbih4KSB7YWdncmVnYXRlKERBSUxZX0NVTSB+IHllYXIgKyBTVFJFQU1fTk8sIGRhdGEgPSB4LCBzdW0pIH0pDQpybShtYXN0ZXIuY2h1bSkNCg0KYGBgDQoNCg0KDQoNCg0KDQpBZGQgYSBuZXcgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpJbnNlcnQgQ2h1bmsqIGJ1dHRvbiBvbiB0aGUgdG9vbGJhciBvciBieSBwcmVzc2luZyAqQ3RybCtBbHQrSSouDQoNCldoZW4geW91IHNhdmUgdGhlIG5vdGVib29rLCBhbiBIVE1MIGZpbGUgY29udGFpbmluZyB0aGUgY29kZSBhbmQgb3V0cHV0IHdpbGwgYmUgc2F2ZWQgYWxvbmdzaWRlIGl0IChjbGljayB0aGUgKlByZXZpZXcqIGJ1dHRvbiBvciBwcmVzcyAqQ3RybCtTaGlmdCtLKiB0byBwcmV2aWV3IHRoZSBIVE1MIGZpbGUpLg0KDQpUaGUgcHJldmlldyBzaG93cyB5b3UgYSByZW5kZXJlZCBIVE1MIGNvcHkgb2YgdGhlIGNvbnRlbnRzIG9mIHRoZSBlZGl0b3IuIENvbnNlcXVlbnRseSwgdW5saWtlICpLbml0KiwgKlByZXZpZXcqIGRvZXMgbm90IHJ1biBhbnkgUiBjb2RlIGNodW5rcy4gSW5zdGVhZCwgdGhlIG91dHB1dCBvZiB0aGUgY2h1bmsgd2hlbiBpdCB3YXMgbGFzdCBydW4gaW4gdGhlIGVkaXRvciBpcyBkaXNwbGF5ZWQuDQoNCg0KYGBge3IsIHJlc3VsdHM9J2FzaXMnfQ0KDQp0ZW1wIDwtIG1hc3Rlci5zb2NrZXllLnN1bW1hcnlbWzFdXQ0KdG1wIDwtIHRlbXAgJT4lDQogIHNwcmVhZChTVFJFQU1fTk8sREFJTFlfQ1VNKSAlPiUNCiAga2FibGUoZm9ybWF0ID0gImh0bWwiLCBib29rdGFicyA9IFQpDQoNCmBgYA0KDQoNCg==