# PREAMBULO
##########################################################
# DEFINIENDO DIRECTORIO
setwd("C:/Users/christian.valero/Documents/SEGUIMIENTO_PELAGICOS/2019/SERIE_HISTORICA/CAPT_EDAD_1997_2018/SEGUIMIENTO")
# Delete all objets of workspace
rm(list=ls(all=TRUE))
options(digits = 6, scipen=999)
set.seed(1234)
##########################################################
# LIBRERIAS
##########################################################
library(egg)
library(gdata)
## Warning: package 'gdata' was built under R version 3.6.2
library(dplyr)
library(tidyr)
library(ggplot2)
library(FSA)
library(utils)
##########################################################
# FUNCIONES
##########################################################
source("Functions.R")
##########################################################
#IMPUTS
auxLength1990 <- tbl_df(read.csv2("TALLAS_TRIM_1990_2018.csv", sep = ";"))
headtail(auxLength1990 %>%
gather(TRIMESTRE,FREC,-MACROZONA,-LONGITUD_ESPECIMEN,-ANO) %>%
group_by(ANO,MACROZONA,TRIMESTRE,LONGITUD_ESPECIMEN) %>%
summarise(Frec = round(sum(FREC,na.rm = T),0)) %>%
spread(TRIMESTRE,Frec),10)
## ANO MACROZONA LONGITUD_ESPECIMEN T1 T2 T3 T4
## 1 1990 1 5 0 0 0 0
## 2 1990 1 6 0 0 0 0
## 3 1990 1 7 0 0 0 0
## 4 1990 1 8 0 0 0 0
## 5 1990 1 9 0 0 0 0
## 6 1990 1 10 0 0 0 0
## 7 1990 1 11 0 0 0 0
## 8 1990 1 12 0 0 0 0
## 9 1990 1 13 0 0 0 0
## 10 1990 1 14 0 0 0 0
## 5733 2018 3 61 0 35289 170178 589
## 5734 2018 3 62 0 0 148518 196
## 5735 2018 3 63 0 0 107677 0
## 5736 2018 3 64 0 0 13728 0
## 5737 2018 3 65 0 0 0 0
## 5738 2018 3 66 0 0 29564 0
## 5739 2018 3 67 0 0 13728 0
## 5740 2018 3 68 0 0 0 0
## 5741 2018 3 69 0 0 0 0
## 5742 2018 3 70 0 0 0 0
auxBio <- tbl_df(read.csv2("EDAD_BIO_JUREL_1997_2018.csv", sep = ";"))
ggplot(auxBio %>%
mutate(MACROZONA = case_when(ZONA <= 3 ~ 1,
ZONA >= 4 ~ 2,
TRUE ~ NA_real_),
TRIMESTRE = case_when(MES == 1 | MES == 2 | MES == 3 ~ 1,
MES == 4 | MES == 5 | MES == 6 ~ 2,
MES == 7 | MES == 8 | MES == 9 ~ 3,
MES == 10 | MES == 11 | MES == 12 ~ 4,
TRUE ~ NA_real_)) %>%
filter(ANO %in% c(1990:2018)),
aes(x=factor(LONGITUD_ESPECIMEN),y= PESO_ESPECIMEN))+
geom_point(alpha = 0.5)+
facet_grid(ANO~MACROZONA+TRIMESTRE)+
#theme_bw()+
theme(strip.background = element_rect(
color="grey", fill="white", size=0.5),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.margin = margin(0.3, 0.3, 0.3, 0.3, "cm"),
plot.background = element_rect(
fill = "white",
colour = "black",
size = 1),
legend.title = element_blank(),
legend.position = "bottom")
## Warning: Removed 170 rows containing missing values (geom_point).
ab_1990_2000 <- tbl_df(read.csv2("AB_SPRFMO_1990_2000.csv", sep = ";"))
options(digits = 3, scipen=999)
headtail(ab_1990_2000,10)
## ANO MACROZONA TRIMESTRE Slope Intercept Correlation N a1 a2 CRITERIO
## 1 1990 1 1 2.58 0.04779 NA NA 2.03 0.000 1
## 2 1990 1 2 2.64 0.03855 NA NA 2.15 0.000 1
## 3 1990 1 3 2.70 0.03104 NA NA 2.29 0.000 1
## 4 1990 1 4 2.45 0.07984 NA NA 1.76 0.000 1
## 5 1991 1 1 2.75 0.02729 NA NA 2.41 0.000 1
## 6 1991 1 2 2.95 0.01329 NA NA 2.88 0.000 1
## 7 1991 1 3 2.67 0.03550 NA NA 2.22 0.000 1
## 8 1991 1 4 2.83 0.02074 NA NA 2.59 0.000 1
## 9 1992 1 1 3.07 0.00939 NA NA 3.17 0.135 1
## 10 1992 1 2 3.05 0.00920 NA NA 3.13 0.107 1
## 167 1998 2 3 3.06 0.00895 NA NA 3.14 0.112 2
## 168 1998 2 4 3.18 0.00808 NA NA 3.46 0.358 2
## 169 1999 2 1 3.15 0.00721 NA NA 3.39 0.310 2
## 170 1999 2 2 3.10 0.00777 NA NA 3.24 0.194 2
## 171 1999 2 3 3.18 0.00597 NA NA 3.45 0.352 2
## 172 1999 2 4 3.04 0.00977 NA NA 3.11 0.000 2
## 173 2000 2 1 3.16 0.00658 NA NA 3.42 0.327 2
## 174 2000 2 2 3.31 0.00407 NA NA 3.81 0.630 2
## 175 2000 2 3 3.10 0.00786 NA NA 3.25 0.197 2
## 176 2000 2 4 3.16 0.00688 NA NA 3.39 0.310 2
PR <- tbl_df(read.csv2("A1A2_RICKER_PIENNAR_1968.csv", sep = ";"))
ggplot(PR %>% gather(Temp, val, temp1,temp2), aes(x=bmax,y=val,col=factor(Temp)))+
geom_point(alpha = 1, size = 3,shape=21) +
theme_bw() +
theme(strip.background = element_rect(
color="grey", fill="white", size=0.5),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.margin = margin(0.3, 0.3, 0.3, 0.3, "cm"),
plot.background = element_rect(
fill = "white",
colour = "black",
size = 1),
legend.title = element_blank(),
legend.position = "bottom") +
ylab(label = "Factor de correcci昼㸳n") +
xlab(label = "Pendiente")
auxAge0 <- tbl_df(read.csv2("HISTORICO_1975_2018.csv", sep = ";")) %>%
filter(!is.na(RADIO_TOTAL), ANO != 2019)
ggplot(auxAge0 %>%
dplyr::mutate(MACROZONA = case_when(ZONA <= 3 ~ 1,
ZONA >= 4 ~ 2,
TRUE ~ NA_real_),
TRIMESTRE = case_when(MES == 1 | MES == 2 | MES == 3 ~ 1,
MES == 4 | MES == 5 | MES == 6 ~ 2,
MES == 7 | MES == 8 | MES == 9 ~ 3,
MES == 10 | MES == 11 | MES == 12 ~ 4,
TRUE ~ NA_real_),
NumRings = apply(auxAge0[,11:34],1, function(x){length(x[!is.na(x)])})),
aes(x=NumRings,y=LONGITUD_ESPECIMEN))+
geom_point(alpha = 0.5) +
facet_grid(ANO~TRIMESTRE+MACROZONA) +
theme(strip.background = element_rect(
color="grey", fill="white", size=0.5),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.margin = margin(0.3, 0.3, 0.3, 0.3, "cm"),
plot.background = element_rect(
fill = "white",
colour = "black",
size = 1),
legend.title = element_blank(),
legend.position = "bottom")
##########################################################
# LECTURA OTOLITOS
auxAge6 <- auxAge0 %>%
filter(!is.na(RADIO_TOTAL),
!is.na(LONGITUD_ESPECIMEN),
!is.na(BORDE),
ANO %in% c(1990:2018)) %>%
group_by(CRITERIO, ANO, LONGITUD_ESPECIMEN) %>%
mutate(FREC=n()) %>%
#sample_frac(0.01, weight=FREC) %>% #toma una muestra proporcional
ungroup() %>%
mutate(ID = rep(1:length(RADIO_TOTAL))) %>%
dplyr::select(ID,CRITERIO,ZONA,MES,ANO,LONGITUD_ESPECIMEN,BORDE,RADIO_TOTAL,
R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,
R19,R20,R21,R22,R23,R24)
auxAge <- auxAge6 %>%
group_by(ID,ZONA,MES,ANO) %>%
gather(R,RADIO,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,
R19,R20,R21,R22,R23,R24) %>%
separate(R, into = c("R", "N"), sep = "(?<=[A-Za-z])(?=[0-9])") %>%
filter(N != 1,N !=3) %>%
mutate(N = case_when(N == 2 ~ 1, N == 4 ~ 2, N == 5 ~ 3,
N == 6 ~ 4, N == 7 ~ 5, N == 8 ~ 6,
N == 9 ~ 7, N == 10 ~ 8, N == 11 ~ 9,
N == 12 ~ 10, N == 13 ~ 11, N == 14 ~ 12,
N == 15 ~ 13, N == 16 ~ 14, N == 17 ~ 15,
N == 18 ~ 16, N == 19 ~ 17, N == 20 ~ 18,
N == 21 ~ 19, N == 22 ~ 20, N == 23 ~ 21,
N == 24 ~ 22, TRUE ~ NA_real_)) %>%
unite(GE,R,N) %>%
unite(COR, ID,CRITERIO,ZONA,MES,ANO,LONGITUD_ESPECIMEN,BORDE,RADIO_TOTAL) %>%
spread(GE, RADIO) %>%
separate(COR,into= c("ID","CRITERIO","ZONA","MES","ANO","LONGITUD_ESPECIMEN","BORDE","RADIO_TOTAL"),
convert =TRUE) %>%
mutate(R_23 = NA, R_24 = NA, CRITERIO = 2) %>%
arrange(ID) %>%
rename(R1 = R_1, R2 = R_2, R3 = R_3, R4 = R_4, R5 = R_5, R6 = R_6, R7 = R_7,
R8 = R_8, R9 = R_9 ,R10 = R_10, R11 = R_11, R12 = R_12, R13 = R_13,
R14 = R_14, R15 = R_15, R16 = R_16, R17 = R_17, R18 = R_18, R19 = R_19,
R20 = R_20, R21 = R_21, R22 = R_22,R23 = R_23, R24 = R_24) %>%
bind_rows(auxAge6) %>%
dplyr::select(ID,CRITERIO,ZONA,MES,ANO,LONGITUD_ESPECIMEN,BORDE,RADIO_TOTAL,
R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12,R13,R14,R15,R16,R17,R18,
R19,R20,R21,R22,R23,R24)
# VECTOR 1: EDAD
Age <- auxAge %>%
mutate(MACROZONA = case_when(ZONA <= 3 ~ 1,
ZONA >= 4 ~ 2,
TRUE ~ NA_real_),
TRIMESTRE = case_when(MES == 1 | MES == 2 | MES == 3 ~ 1,
MES == 4 | MES == 5 | MES == 6 ~ 2,
MES == 7 | MES == 8 | MES == 9 ~ 3,
MES == 10 | MES == 11 | MES == 12 ~ 4,
TRUE ~ NA_real_),
NumRings = apply(auxAge[,9:32],1, function(x){length(x[!is.na(x)])}),
Im = IM(RADIO_TOTAL),
Age = EDAD(NumRings,BORDE))
# REEMPLAZAMOS CON VALORES HISTORICOS ENTRE 1990 y 2000
Length19902018 <- auxLength1990 %>%
group_by(ANO,MACROZONA,LONGITUD_ESPECIMEN) %>%
gather(TRIMESTRE,ABUN_N,T1,T2,T3,T4) %>%
separate(TRIMESTRE, into = c("T", "TRIMESTRE"), sep = "(?<=[A-Za-z])(?=[0-9])") %>%
#mutate_at(vars(starts_with("TRIMESTRE")), funs(as.numeric)) %>%
mutate(TRIMESTRE = as.numeric(TRIMESTRE),MES = NA, CRITERIO = 1) %>%
dplyr::select(ANO,MACROZONA,MES,LONGITUD_ESPECIMEN,ABUN_N,TRIMESTRE,CRITERIO)
Length <- Length19902018 %>%
mutate(CRITERIO = 2) %>%
bind_rows(Length19902018) %>%
ungroup() %>%
mutate(MACROZONA = case_when(MACROZONA == 1 ~ 1,
MACROZONA >= 2 ~ 2,
TRUE ~ NA_real_))
# VECTOR 2: MUESTREO BIOLOGICO
Bio <- auxBio %>%
dplyr::select(COD_PESQUERIA,ANO,ZONA,MES,LONGITUD_ESPECIMEN,PESO_ESPECIMEN) %>%
filter(ANO %in% c(2005:2018)) %>%
mutate(MACROZONA = case_when(ZONA <= 3 ~ 1,
ZONA >= 4 ~ 2,
TRUE ~ NA_real_),
TRIMESTRE = case_when(MES == 1 | MES == 2 | MES == 3 ~ 1,
MES == 4 | MES == 5 | MES == 6 ~ 2,
MES == 7 | MES == 8 | MES == 9 ~ 3,
MES == 10 | MES == 11 | MES == 12 ~ 4,
TRUE ~ NA_real_))
# VECTOR 3: a y b, a1,a2
auxab <- tbl_df(AB(Bio)) %>%
mutate(CRITERIO = 2)
ab <- tbl_df(AB(Bio)) %>%
mutate(CRITERIO = 1) %>%
bind_rows(auxab,ab_1990_2000)
headtail(ab,20)
## ANO MACROZONA TRIMESTRE Slope Intercept Correlation N a1 a2
## 1 2005 1 1 3.03 0.01011 0.982 801 3.06 0.000
## 2 2005 1 2 2.88 0.01583 0.993 1112 2.70 0.000
## 3 2005 1 3 3.09 0.00781 0.990 485 3.22 0.173
## 4 2005 1 4 3.07 0.00900 0.951 352 3.17 0.135
## 5 2005 2 1 3.17 0.00617 0.986 4219 3.43 0.341
## 6 2005 2 2 3.08 0.00793 0.991 3216 3.21 0.169
## 7 2005 2 3 2.99 0.01060 0.994 1558 2.97 0.000
## 8 2005 2 4 2.93 0.01445 0.990 1327 2.82 0.000
## 9 2006 1 1 2.98 0.01176 0.967 318 2.95 0.000
## 10 2006 1 2 2.89 0.01489 0.987 1122 2.73 0.000
## 11 2006 1 3 3.10 0.00768 0.985 326 3.24 0.191
## 12 2006 1 4 3.11 0.00763 0.993 691 3.29 0.229
## 13 2006 2 1 3.06 0.00885 0.995 2916 3.15 0.120
## 14 2006 2 2 3.03 0.00978 0.994 2574 3.07 0.000
## 15 2006 2 3 3.10 0.00714 0.995 3208 3.26 0.207
## 16 2006 2 4 3.04 0.00968 0.994 2069 3.09 0.000
## 17 2007 1 1 3.00 0.01086 0.983 1229 3.00 0.000
## 18 2007 1 2 2.98 0.01134 0.966 2634 2.95 0.000
## 19 2007 1 3 2.97 0.01181 0.964 1038 2.93 0.000
## 20 2007 1 4 2.95 0.01365 0.988 1606 2.86 0.000
## 361 1996 2 1 3.12 0.00723 NA NA 3.31 0.245
## 362 1996 2 2 3.16 0.00653 NA NA 3.42 0.327
## 363 1996 2 3 3.15 0.00651 NA NA 3.39 0.308
## 364 1996 2 4 3.01 0.01073 NA NA 3.01 0.000
## 365 1997 2 1 3.14 0.00704 NA NA 3.34 0.272
## 366 1997 2 2 3.20 0.00568 NA NA 3.51 0.399
## 367 1997 2 3 3.16 0.00614 NA NA 3.41 0.325
## 368 1997 2 4 3.05 0.00947 NA NA 3.13 0.107
## 369 1998 2 1 3.05 0.00934 NA NA 3.14 0.108
## 370 1998 2 2 3.08 0.00857 NA NA 3.20 0.158
## 371 1998 2 3 3.06 0.00895 NA NA 3.14 0.112
## 372 1998 2 4 3.18 0.00808 NA NA 3.46 0.358
## 373 1999 2 1 3.15 0.00721 NA NA 3.39 0.310
## 374 1999 2 2 3.10 0.00777 NA NA 3.24 0.194
## 375 1999 2 3 3.18 0.00597 NA NA 3.45 0.352
## 376 1999 2 4 3.04 0.00977 NA NA 3.11 0.000
## 377 2000 2 1 3.16 0.00658 NA NA 3.42 0.327
## 378 2000 2 2 3.31 0.00407 NA NA 3.81 0.630
## 379 2000 2 3 3.10 0.00786 NA NA 3.25 0.197
## 380 2000 2 4 3.16 0.00688 NA NA 3.39 0.310
## CRITERIO
## 1 1
## 2 1
## 3 1
## 4 1
## 5 1
## 6 1
## 7 1
## 8 1
## 9 1
## 10 1
## 11 1
## 12 1
## 13 1
## 14 1
## 15 1
## 16 1
## 17 1
## 18 1
## 19 1
## 20 1
## 361 2
## 362 2
## 363 2
## 364 2
## 365 2
## 366 2
## 367 2
## 368 2
## 369 2
## 370 2
## 371 2
## 372 2
## 373 2
## 374 2
## 375 2
## 376 2
## 377 2
## 378 2
## 379 2
## 380 2
##########################################################
catchAge <- CATCH_AGE(Age)
## Warning: funs() is soft deprecated as of dplyr 0.8.0
## Please use a list of either functions or lambdas:
##
## # Simple named list:
## list(mean = mean, median = median)
##
## # Auto named with `tibble::lst()`:
## tibble::lst(mean, median)
##
## # Using lambdas
## list(~ mean(., trim = .2), ~ median(., na.rm = TRUE))
## This warning is displayed once per session.
rm(list=ls(pattern=c("aux")))
catchAge$CRITERIO <- factor(catchAge$CRITERIO,
labels = c("Historico","Validacion"),
levels = c(1,2))
for(i in 1:length(catchAge$CRITERIO)){
if(catchAge$CRITERIO[i] == 1){
catchAge$CRITERIO[i] <- "Historico"
} else if (catchAge$CRITERIO[i] == 2){
catchAge$CRITERIO[i] <- "Validación"
}
}
for(i in 1:length(catchAge$MACROZONA)){
if(catchAge$MACROZONA[i] == 1){
catchAge$MACROZONA[i] <- "Fleet 1"
} else if (catchAge$MACROZONA[i] == 2){
catchAge$MACROZONA[i] <- "Fleet 2"
}
}
for(i in 1:length(catchAge$TRIMESTRE)){
if(catchAge$TRIMESTRE[i] == 1){
catchAge$TRIMESTRE[i] <- "1 Trim"
} else if (catchAge$TRIMESTRE[i] == 2){
catchAge$TRIMESTRE[i] <- "2 Trim"
} else if (catchAge$TRIMESTRE[i] == 3){
catchAge$TRIMESTRE[i] <- "3 Trim"
} else if (catchAge$TRIMESTRE[i] == 4){
catchAge$TRIMESTRE[i] <- "4 Trim"
}
}
# PESOS MEDIOS A LA EDAD 1990 - 2000
ggplot(catchAge %>% filter(ANO %in% c(1990:2018)),
aes(x=GRUPO_EDAD,
y= P_PR,
col = factor(CRITERIO)),
shape = TRIMESTRE)+
geom_line()+
facet_grid(ANO~MACROZONA+TRIMESTRE)+
theme_bw()+
theme(strip.background = element_rect(
color="grey", fill="white", size=0.5),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.margin = margin(0.3, 0.3, 0.3, 0.3, "cm"),
plot.background = element_rect(
fill = "white",
colour = "black",
size = 1),
legend.title = element_blank(),
legend.position = "bottom") +
ylab(label = "Frecuencia %") +
xlab(label = "Grupo de edad (cm)")
# CAPTURA A LA EDAD 1990 - 2000
ggplot(catchAge %>% filter(ANO %in% c(1990:2018)),
aes(x=factor(GRUPO_EDAD),
y= PORC,
fill = CRITERIO))+
geom_bar(stat ="identity", width = 0.5, position = "dodge")+
facet_grid(ANO~MACROZONA+TRIMESTRE)+
theme_bw()+
theme(strip.background = element_rect(
color="grey", fill="white", size=0.5),
panel.background = element_rect(fill = "white"),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
plot.margin = margin(0.3, 0.3, 0.3, 0.3, "cm"),
plot.background = element_rect(
fill = "white",
colour = "black",
size = 1),
legend.title = element_blank(),
legend.position = "bottom") +
ylab(label = "Frecuencia %") +
xlab(label = "Grupo de edad (cm)")