rm(list = ls())
knitr::opts_chunk$set(echo = TRUE,
message = FALSE,
warning = FALSE,
fig.align = 'center',
dev = 'jpeg',
dpi = 300,
fig.align='center')
#XQuartz is a mess, put this in your onload to default to cairo instead
options(bitmapType = "cairo")
# (https://github.com/tidyverse/ggplot2/issues/2655)
# Lo mapas se hacen mas rapido
library(tidyverse)
library(ggridges)
library(readxl)
library(here)
library(lubridate)
library(readr)
library(ggthemes)
library(hrbrthemes)
library(kableExtra)
library(gtsummary)
El monitoreo de tallas considera dos compenentes. muestreo espacial, temporal y por arte de pesca (comercial y poblacional)
Leer y juntar Data Base provenientos de todos los muestreos, que datan desde el 2013.
Cabe señalar que las bases de datos previas al 2020, tiene (o pueden contener) otras columnas como densidad, rendimiento y tallas.
Ordenar la data. El año 2013 es el que tiene mas diferencias de formatos. Tambien debo hacer columnas con formato de los datos posteriores al 2020. Para esto se diagnosticaron las bases del año 2013 que estaban separadas por rastro y por mes con diferentes formatos de campos. Por ello se realiza un trabajo de data handling.
# Enero
sizep01_13 <-read_excel("Data/Datos_13_14/Datos tallas 2013/Muestreo poblacional 22_1_14.xls",
sheet = "Coquina") %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
rename(sizeE=`Peso Submuestra`) %>%
select(-c(1, 3, 4, 5, 6))
sizep01_13$Date <- ymd("2013-01-01")
# Marzo
sizec03_13 <- read_excel("Data/Datos_13_14/Datos tallas 2013/Coquina 26_03_2013_Luis.xlsx",
sheet = "Comercial",
skip = 2)%>%
select(2) %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="COMERCIAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
rename(sizeE=Largo)
sizec03_13$Date <- ymd("2013-03-01")
# mayo
sizep05_13 <- read_excel("Data/Datos_13_14/Datos tallas 2013/Muestro_Mayo_2.xlsx",
sheet = "Poblacion") %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=Dato)%>%
select(-c(2, 3, 4))
sizep05_13$Date <- ymd("2013-05-01")
sizec05_13 <- read_excel("Data/Datos_13_14/Datos tallas 2013/Muestro_Mayo_2.xlsx",
sheet = "Comercial") %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="COMERCIAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=...1)%>%
select(-c(2, 3, 4, 5, 6 , 7))
sizec05_13$Date <- ymd("2013-05-01")
# marzo abril mayo junio nov
sizep2013 <- read_excel(here("Data",
"Datos_13_14",
"Datos tallas 2014_2015",
"DATOS 2013",
"Datos tallas_2013.xlsx"),
sheet = "Datos poblacional",
skip=2)
sizep2013 <- sizep2013 %>%
select(c(3, 4)) %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=`Longitud (mm)`,
Date=Fecha)
# marzo abril jun agost sept oct nov dic
sizec2013 <- read_excel(here("Data",
"Datos_13_14",
"Datos tallas 2014_2015",
"DATOS 2013",
"Datos tallas_2013.xlsx"),
sheet = "Datos comercial",
skip=1)
sizec2013 <- sizec2013 %>%
select(c(3, 4)) %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="COMERCIAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=`Longitud (mm)`,
Date=Fecha)
# Septiembre
sizep09_13 <- read_excel("Data/Datos_13_14/Datos tallas 2013/Muestreo Septiembre coquina-comercial.xlsx",
sheet = "Sin cribar")
sizep09_13 <- sizep09_13 %>%
select(c(1)) %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=Talla)
sizep09_13$Date <- ymd("2013-09-01")
# Octubre
sizep10_13 <- read_excel("Data/Datos_13_14/Datos repetidos dudas/Muestreo octubre coquina_comercial.xlsx",
sheet = "Sin cribar")
sizep10_13 <- sizep10_13 %>%
select(c(1)) %>%
mutate(
Beach = NA,
Sampling.point = 4,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=Length)
sizep10_13$Date <- ymd("2013-10-01")
# Diciembre
sizep12_13 <- read_excel("Data/Datos_13_14/Datos tallas 2013/2013_12_23 Coquina (poblacion).xls",
skip = 2)
sizep12_13 <- sizep12_13 %>%
select(c(3)) %>%
mutate(
Beach = NA,
Sampling.point = 2,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=talla)
sizep12_13$Date <- ymd("2013-12-01")
sizec12_13 <- read_excel("Data/Datos_13_14/Datos tallas 2013/Muestreo diciembre coquina_comercial.xlsx",
sheet = "Cribada")
sizec12_13 <- sizec12_13 %>%
select(c(1)) %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="COMERCIAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=`COMERCIAL-CRIBADA`)
sizec12_13$Date <- ymd("2013-12-01")
Corroboro nombres de los df y junto los datos del 2013
names(sizep01_13) # enero
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizec03_13) # marzo
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizec05_13) # mayo
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizep09_13)# sep
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizep10_13) # oct
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizep12_13) # dic
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizec2013) # comercial hartos meses
## [1] "Date" "sizeE" "Beach"
## [4] "Sampling.point" "rastro" "CAT"
## [7] "Categoria" "size" "ID_codificado_muestreo"
names(sizep2013) # poblacional hartos meses
## [1] "Date" "sizeE" "Beach"
## [4] "Sampling.point" "rastro" "CAT"
## [7] "Categoria" "size" "ID_codificado_muestreo"
names(sizec12_13) # dic comercial
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
names(sizep01_13) #enero
## [1] "sizeE" "Beach" "Sampling.point"
## [4] "rastro" "CAT" "Categoria"
## [7] "size" "ID_codificado_muestreo" "Date"
size2013 <- bind_rows(sizep01_13,
sizec03_13,
sizec05_13,
sizep09_13,
sizep10_13,
sizep12_13,
sizec2013,
sizep2013,
sizec12_13,
sizep01_13) %>%
mutate(
DIA = day(Date),
MES = month(Date),
ANO = year(Date)
)
Estos datos fueron compilados en dos archivos. Estos datos estan agrupados como frecuencias lo que dificulta su trabajo analitico, poor lo cual los desagregamos y dejamos como data crudo.
Junto a ello, cambiamos el formato de las coliummnas siguiendo la logica del os datos del 2013.
sizec14_15 <- read_excel("Data/Datos_13_14/Datos tallas 2014_2015/Datos totales/TALLAS_Com_2014-2015.xlsx") %>%
select(c(1, 2, 3, 6, 7)) %>%
mutate(Number2 =round(Number), 0) %>%
uncount(Number2) %>%
select(-c(5,6))
sizec14_15 <- sizec14_15 %>%
mutate(
rastro="COMERCIAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
rename(Sampling.point = "Station" ,
sizeE="Size")
sizep14_15 <- read_excel("Data/Datos_13_14/Datos tallas 2014_2015/Datos totales/TALLAS_Pobl_2014-2015.xlsx") %>%
select(c(1, 2, 3, 6, 7)) %>%
drop_na(Number) %>%
mutate(Number2 =round(Number), 0) %>%
uncount(Number2) %>%
select(-c(5,6))
sizep14_15 <- sizep14_15 %>%
mutate(
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
rename(Sampling.point = "Station" ,
sizeE="Size")
Junto los artes de pesca y separo las fechas
size14_15 <- bind_rows(sizec14_15,
sizep14_15) %>%
mutate(
DIA = day(Date),
MES = month(Date),
ANO = year(Date)
)
Separo las fechas
solo tengo datos del mes de agosto y sin punto de referencia
# comercial
sizec2016 <- read_excel(here("Data",
"Datos_13_14",
"Datos tallas 2016",
"Muestreo coquina Doคana 23_08_2016.xls"),
sheet = "Comercial",
skip = 3) %>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="COMERCIAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
) %>%
dplyr::rename(sizeE=Talla)
sizec2016$Date <- ymd("2016-08-01")
#poblacional
sizep2016 <- read_excel(here("Data",
"Datos_13_14",
"Datos tallas 2016",
"Muestreo coquina Doคana 23_08_2016.xls"),
sheet = "Poblacional",
skip = 3)
df1 <- sizep2016 %>%
select(1)
df2 <- sizep2016 %>%
select(3) %>%
rename("Tall grande" ="Talla pequeña")
sizep2016 <- bind_rows(df1, df2)%>%
mutate(
Beach = NA,
Sampling.point = NA,
rastro="POBLACIONAL",
CAT=NA,
Categoria=NA,
size=NA,
ID_codificado_muestreo=NA
)%>%
dplyr::rename(sizeE="Tall grande")
sizep2016$Date <- ymd("2016-08-01")
uno los datos del 2016
size2016 <- bind_rows(sizec2016,
sizep2016)%>%
mutate(
DIA = day(Date),
MES = month(Date),
ANO = year(Date)
)
estos datos tienen otros campos pero seguiremos la logica de los campos previos, es decir;
[1] “sizeE” “Beach” “Sampling.point”
[4] “rastro” “CAT” “Categoria”
[7] “size” “ID_codificado_muestreo” “Date”
[10] “DIA” “MES” “ANO”
# Datos 2020 size and dens and abundance join
size2017 <- read.csv2(here("Data",
"Anterior a 2020",
"data_ieo_2017_def.csv"),
dec=".") %>%
select(c(22, 3, 4, 12, 19, 20, 21, 2)) %>%
mutate(
ID_codificado_muestreo=NA
)%>%
rename(sizeE=SizeE,
size=Size)
size2018 <- read.csv2(here("Data",
"Anterior a 2020",
"data_ieo_2018_def.csv"),
dec=".") %>%
select(c(22, 3, 4, 12, 19, 20, 21, 2)) %>%
mutate(
ID_codificado_muestreo=NA
) %>%
rename(sizeE=SizeE,
size=Size)
size2019 <- read.csv2(here("Data",
"Anterior a 2020",
"data_ieo_2019_def.csv"),
dec=".") %>%
select(c(22, 3, 4, 12, 19, 20, 21, 2)) %>%
mutate(
ID_codificado_muestreo=NA
) %>%
rename(sizeE=SizeE,
size=Size)
size2020 <- read.csv2(here("Data",
"Anterior a 2020",
"data_ieo_2020_def.csv"),
dec=".") %>%
select(c(22, 3, 4, 12, 19, 20, 21, 2)) %>%
mutate(
ID_codificado_muestreo=NA
) %>%
rename(sizeE=SizeE,
size=Size)
Same names. Could merge the DF
size_17_20 <- rbind(size2017,
size2018,
size2019,
size2020)
size_17_20$Date <- dmy(size_17_20$Date)
Comprubo la estructura
summary(size_17_20)
## sizeE Beach Sampling.point rastro
## Min. : 2.00 Length:62083 Length:62083 Length:62083
## 1st Qu.: 16.00 Class :character Class :character Class :character
## Median : 22.00 Mode :character Mode :character Mode :character
## Mean : 20.65
## 3rd Qu.: 26.00
## Max. :102.00
## CAT Categoria size Date
## Min. :1.000 Length:62083 Min. : 2.83 Min. :2017-07-13
## 1st Qu.:1.000 Class :character 1st Qu.:16.20 1st Qu.:2018-05-14
## Median :2.000 Mode :character Median :22.38 Median :2019-01-10
## Mean :1.528 Mean :21.12 Mean :2019-02-15
## 3rd Qu.:2.000 3rd Qu.:26.23 3rd Qu.:2019-11-14
## Max. :2.000 Max. :79.50 Max. :2020-12-17
## ID_codificado_muestreo
## Mode:logical
## NA's:62083
##
##
##
##
Change Date
columns from character
to
Date
format
# separo los meses , dias y años
# Separar en columnas de día, mes y año
size_17_20<- size_17_20 %>%
mutate(
DIA = day(Date),
MES = month(Date),
ANO = year(Date)
)
unique(size_17_20$ANO)
## [1] 2017 2018 2019 2020
a qui tengo diferencias con los nombres. Verificar cuando se junten todos los años
size2021 <- read_excel(here("Data",
"Posterior 2020",
"Data_size_Coquina_2021.xlsx"),
sheet = "Coquina_donax") %>%
select(-c(1, 10, 11))
size2022 <- read_excel(here("Data",
"Posterior 2020",
"Data_size_Coquina_2022.xlsx"),
sheet = "Coquina_donax") %>%
select(-c(1, 2))
size2023 <- read_excel(here("Data",
"Posterior 2020",
"Data_size_Coquina_2023.xlsx"),
sheet = "Coquina_Donax") %>%
select(-c(1, 2))
size2024 <- read_excel(here("Data",
"Posterior 2020",
"Data_size_Coquina_2024.xlsx"),
sheet = "Coquina_Donax") %>%
select(-c(1, 2))
Este aspecto se trabaja de forma de ponderación ad-hoc descrita en la Figure @ref(fig:edaplot1)
Now, we handling data 2021-2023. Same columns data 2017-2020
size_21_24 <- rbind(size2021,
size2022,
size2023,
size2024)
Separate Date
column
size_21_24<- size_21_24 %>%
mutate(
DIA = day(Date),
MES = month(Date),
ANO = year(Date)
)
unique(size_21_24$rastro)
## [1] "POBLACIONAL" "COMERCIAL"
# join data
sizeall <- rbind(size2013,
size14_15,
size2016,
size_17_20,
size_21_24)
check dimension. ahora la base completa tiente 21 mil registros
dim(sizeall)
## [1] 214449 12
table(sizeall$ANO)
##
## 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024
## 6179 71147 22972 386 10121 20418 18109 13435 21971 17426 9036 3022
table(sizeall$Beach)
##
## Donana Donana Donana_norte Donana_sur Huelva Isla_Canela
## 105673 285 25735 15725 40841 14435
## La_Bota LaBota Malandar Matalascanas Mazagon
## 3043 1266 7 382 265
table(sizeall$Sampling.point)
##
## 1 10 11 12 13 2 3 4 4R 5 6 7 8
## 12221 35089 15306 265 7 32533 11911 49608 221 3544 27470 9813 5182
## 9 M
## 4310 634
table(sizeall$rastro)
##
## COMERCIAL COMERCIAL COMERCIAL NEW POBLACIONAL POBLACIONAL
## 54615 16 873 158906 39
Rename values
sizeall2 <- sizeall %>%
drop_na(rastro) %>%
mutate(rastro = str_replace_all(rastro, " ", ""),
rastro = str_replace_all(rastro, "COMERCIALNEW", "COMERCIAL"),
Beach = str_replace_all(Beach, "Donana", "Donaña"),
Beach = str_replace_all(Beach, " ", ""),
Beach = str_replace_all(Beach, "Matalascanas", "Matalascañas")) %>%
mutate(MES = case_when(
MES == 1 ~ "January",
MES == 2 ~ "February",
MES == 3 ~ "March",
MES == 4 ~ "April",
MES == 5 ~ "May",
MES == 6 ~ "June",
MES == 7 ~ "July",
MES == 8 ~ "August",
MES == 9 ~ "September",
MES == 10 ~ "October",
MES == 11 ~ "November",
MES == 12 ~ "December")) %>%
mutate(MES = factor(MES, levels = c("January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December")))
unique(sizeall2$Beach)
## [1] NA "Donaña" "Huelva" "La_Bota" "Isla_Canela"
## [6] "Mazagon" "Malandar" "Donaña_sur" "Donaña_norte" "LaBota"
## [11] "Matalascañas"
unique(sizeall2$rastro)
## [1] "POBLACIONAL" "COMERCIAL"
unique(sizeall2$MES)
## [1] January March May September October December <NA>
## [8] April June August November February July
## 12 Levels: January February March April May June July August ... December
table(sizeall2$ANO, sizeall2$rastro)
##
## COMERCIAL POBLACIONAL
## 2013 2255 3924
## 2014 16960 54187
## 2015 956 22016
## 2016 142 244
## 2017 3529 6592
## 2018 5330 15088
## 2019 6136 11973
## 2020 3596 9839
## 2021 7124 14847
## 2022 5732 11694
## 2023 2627 6409
## 2024 1116 1906
saveRDS(sizeall2, "tallas_13_24.RData")
sizeall2 <- readRDS("~/IEO/DATA/EDA_Donux_trunculus_2023/tallas13_24.RDS")
some plots
nall <- ggplot(sizeall2 %>%
drop_na(sizeE,
MES),
aes(x=sizeE,
y = MES,
fill= as.factor(rastro)))+
# geom_density_ridges(stat = "densit",
# bins = 50,
# scale = 1.2,
# alpha=0.7)+
geom_density_ridges2(stat = "density_ridges",
position = "points_sina",
scale = 1.5,
alpha=0.7)+
facet_wrap(.~ANO, ncol=6) +
geom_vline(xintercept = 10.8, color = "red")+
scale_fill_viridis_d(option="B",
name="Gear")+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
theme_few()+
theme(legend.position = "bottom")+
xlab("Longitud (mm.)")+
ylab("")+
xlim(0,40)
#scale_x_discrete((limits = rev(levels(talla2021$ANO_ARR))))+
nall
nallbeach <- ggplot(sizeall2%>%
filter(rastro!="COMERCIAL"),
aes(x=sizeE,
y = as.factor(MES),
fill= as.factor(Sampling.point)))+
geom_density_ridges2(stat = "density_ridges",
position = "points_sina",
scale = 1.2,
alpha=0.7)+
facet_wrap(.~ANO, ncol=7) +
geom_vline(xintercept = 10.8, color = "red")+
scale_fill_viridis_d(option="F",
name="Beach")+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
theme_few()+
theme(legend.position = "bottom")+
xlab("Longitud (mm.)")+
ylab("")+
xlim(0,40)
#scale_x_discrete((limits = rev(levels(talla2021$ANO_ARR))))+
nallbeach
just Poblacional sample
pobeach <- ggplot(sizeall2 %>%
filter(rastro!="COMERCIAL"),
aes(x=sizeE,
y = as.factor(MES),
fill= as.factor(Sampling.point)))+
geom_density_ridges(stat = "binline",
bins = 10,
scale = 1.2,
alpha=0.7)+
facet_wrap(.~ANO, ncol=7) +
geom_vline(xintercept = 10.8, color = "red")+
scale_fill_viridis_d(option="G",
name="Beach")+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
theme_few()+
theme(legend.position = "bottom")+
xlab("Longitud (mm.)")+
ylab("")+
xlim(0,40)
#scale_x_discrete((limits = rev(levels(talla2021$ANO_ARR))))+
pobeach
justm Comercial sample
combeach <- ggplot(sizeall2 %>%
filter(rastro!="POBLACIONAL"), # saco poblacional
aes(x=sizeE,
y = as.factor(MES),
fill= as.factor(Beach)))+
geom_density_ridges(stat = "binline",
bins = 40,
scale = 1.2,
alpha=0.7)+
facet_wrap(.~ANO, ncol=7) +
geom_vline(xintercept = 10.8, color = "red")+
scale_fill_viridis_d(option="F",
name="Beach")+
theme(axis.text.x = element_text(angle = 90, hjust = 1))+
theme_few()+
theme(legend.position = "bottom")+
xlab("Longitud (mm.)")+
ylab("")+
xlim(0,40)
#scale_x_discrete((limits = rev(levels(talla2021$ANO_ARR))))+
combeach
Ahora plotear el ultimo mes para el informe
combeachago23 <- ggplot(sizeall2 %>%
filter(ANO==2024),
aes(x=sizeE, y=Beach, fill=as.character(rastro)))+
geom_density_ridges(stat = "binline",
bins = 40,
scale = 1.2,
alpha=0.8)+
scale_fill_manual(values = c("red", "blue"))+
facet_wrap(.~MES, ncol=5) +
geom_vline(xintercept = 10.8, color = "red")+
theme_few()+
theme(legend.position = "bottom")+
xlab("Longitud (cm.)")+
ylab("")+
xlim(0,40)+
labs(title= "Survey 2024")
#scale_x_discrete((limits = rev(levels(talla2021$ANO_ARR))))+
combeachago23
another way to viz is a scatter plot
sizemean <-sizeall2 %>%
dplyr::group_by(ANO,
MES,
rastro,
Sampling.point) %>%
dplyr::summarise(avg=mean(sizeE))
#kableExtra::kable(coutlength, format = "html")
Promedio por tipo de rastro.
pmea <- ggplot(sizemean %>%
drop_na(avg),
aes(as.factor(ANO), avg,
color=rastro))+
geom_boxplot(show.legend = T,
alpha=.7) +
geom_jitter()+
theme_few()+
scale_y_continuous(breaks = seq(from = 2013, to = 2023, by = 1))+
theme(axis.text.x = element_text(angle = 90,
hjust = 1,
vjust= 0.5,
size = 8),
axis.text.y = element_text(size = 8),
legend.position = "bottom")+
guides(fill = guide_legend(reverse=F))+
scale_color_viridis_d(option="H",
name="")+
ylab("Tallas Medias (mm)") +
xlab("") +
ylim(5,35)+
ggtitle("Tallas medias coquina por año")
pmea
por playa
ppla <- ggplot(sizemean %>%
filter(rastro!="COMERCIAL") %>%
arrange(Sampling.point) %>%
drop_na(avg, Sampling.point),
aes(as.character(Sampling.point), avg,
color=Sampling.point))+
geom_boxplot(show.legend = T,
alpha=.7) +
geom_jitter()+
theme_few()+
#facet_wrap(.~ANO, ncol=3)+
scale_y_continuous(breaks = seq(from = 2013, to = 2023, by = 1))+
theme(axis.text.x = element_text(angle = 90,
hjust = 1,
vjust= 0.5,
size = 8),
axis.text.y = element_text(size = 8),
legend.position = "bottom")+
guides(fill = guide_legend(reverse=F))+
scale_color_viridis_d(option="H",
name="")+
ylab("Tallas Medias (mm)") +
xlab("") +
ylim(5,35)+
ggtitle("Tallas medias coquina por playa")
ppla
comprobar tendencia estadisticamente para las tendencias de ambos sistemas de muestreo en las tallas.
# comercial
sizemeanc <- sizemean %>%
filter(rastro =="COMERCIAL")
modelc <- lm(avg ~ANO, data=sizemeanc)
# poblacional
sizemeanp <- sizemean %>%
filter(rastro =="POBLACIONAL")
modelp <- lm(avg ~ANO, data=sizemeanp)
usamees la función gtsummary
(Sjoberg et al., 2021) para visualizar
los resultados de los modelos.
tp <- tbl_regression(modelp,
estimate_fun = function(x)
style_number(x, digits = 3))
tc <- tbl_regression(modelc,
estimate_fun = function(x)
style_number(x, digits = 3))
Tabla de cada tendencia de tallas por años
tp
Characteristic | Beta | 95% CI1 | p-value |
---|---|---|---|
ANO | -0.045 | -0.145, 0.055 | 0.4 |
1 CI = Confidence Interval |
tc
Characteristic | Beta | 95% CI1 | p-value |
---|---|---|---|
ANO | -0.039 | -0.106, 0.029 | 0.3 |
1 CI = Confidence Interval |
en este caso definimos dos tipos de estructura de tallas, dependientes (rastro comercial) e independientes (rastro poblacional) a la pesquería.
Generamos dos matrces por separado para fines del template de
SS3
# poblacional
tallapob <- sizeall2 %>%
filter(rastro=="POBLACIONAL")
tallapob$CATL <- as.numeric(as.character(cut(x = tallapob$sizeE,
breaks = seq(0,50,1),
labels = seq(0,49,1),
right = FALSE)))
# comercial
tallacom <- sizeall2 %>%
filter(rastro=="COMERCIAL")
tallacom$CATL <- as.numeric(as.character(cut(x = tallacom$sizeE,
breaks = seq(0,50,1),
labels = seq(0,49,1),
right = FALSE)))
tallapob2<- table(tallapob$ANO, tallapob$CATL)
tallacom2<- table(tallacom$ANO, tallacom$CATL)
tail(tallapob2, 10)
##
## 2 3 4 5 6 7 8 9 10 11 12 13 14 15
## 2015 0 0 10 25 78 179 327 644 749 822 838 946 1097 1139
## 2016 0 0 0 0 0 0 2 1 13 19 21 14 9 1
## 2017 0 0 1 11 30 58 136 167 267 312 327 382 383 398
## 2018 1 1 11 120 248 324 429 531 588 677 830 799 775 774
## 2019 0 3 10 107 130 114 140 222 289 346 371 447 493 487
## 2020 0 1 9 71 138 169 207 255 262 333 380 476 467 516
## 2021 0 1 15 104 190 248 416 543 558 581 612 610 632 727
## 2022 0 0 27 127 93 99 120 206 236 345 380 410 468 522
## 2023 0 0 4 36 63 79 98 148 196 212 202 193 220 232
## 2024 0 0 0 0 0 4 16 21 30 50 50 57 71 83
##
## 16 17 18 19 20 21 22 23 24 25 26 27 28 29
## 2015 1312 1212 1139 1098 1219 1138 1020 1251 1184 1080 1093 772 485 404
## 2016 0 1 2 2 8 3 13 12 14 10 7 7 17 10
## 2017 414 406 454 459 461 417 337 294 240 216 152 113 93 32
## 2018 739 674 699 784 865 856 780 680 704 597 513 384 287 173
## 2019 523 556 522 641 727 811 876 862 827 670 597 423 326 200
## 2020 612 602 546 555 575 546 520 482 439 419 343 270 232 169
## 2021 669 602 673 781 831 893 1033 1048 857 701 550 366 254 180
## 2022 558 594 559 607 630 687 681 770 899 797 638 482 306 225
## 2023 227 264 314 358 388 428 490 450 438 348 334 241 178 95
## 2024 69 85 97 108 101 142 165 152 166 146 109 74 59 29
##
## 30 31 32 33 34 35 36 37 38 49
## 2015 309 181 136 42 39 29 13 6 0 0
## 2016 8 6 4 2 0 2 0 0 0 0
## 2017 19 8 4 1 0 0 0 0 0 0
## 2018 127 64 25 16 8 5 0 0 0 0
## 2019 119 75 31 11 10 5 2 0 0 0
## 2020 110 67 44 13 8 2 1 0 0 0
## 2021 92 42 16 15 4 2 1 0 0 0
## 2022 117 60 37 8 2 1 1 1 1 0
## 2023 84 42 29 11 5 1 1 0 0 0
## 2024 12 8 1 1 0 0 0 0 0 0
tail(tallacom2, 10)
##
## 11 12 13 14 15 16 17 18 19 20 21 22 23 24
## 2015 0 0 0 0 0 0 0 0 0 0 0 1 14 52
## 2016 0 0 0 0 0 0 0 0 0 0 0 0 1 7
## 2017 1 1 7 7 5 6 13 26 47 115 148 208 294 521
## 2018 0 0 0 1 0 0 1 0 2 1 10 24 82 458
## 2019 0 0 0 1 1 8 10 11 18 27 38 35 109 501
## 2020 0 0 0 0 0 0 0 0 0 4 4 9 56 296
## 2021 0 0 0 0 0 0 0 0 1 0 4 11 115 711
## 2022 0 0 0 0 0 0 0 0 0 2 8 24 117 549
## 2023 0 0 0 0 0 0 0 0 0 0 0 2 26 184
## 2024 0 0 0 0 0 0 0 0 0 2 4 8 47 126
##
## 25 26 27 28 29 30 31 32 33 34 35 36 37 38
## 2015 122 163 148 144 95 103 49 31 17 8 4 4 1 0
## 2016 22 31 17 13 19 16 7 5 3 0 1 0 0 0
## 2017 704 574 370 223 139 69 31 11 6 2 0 1 0 0
## 2018 1025 1183 920 671 433 239 145 74 34 20 4 2 0 0
## 2019 1291 1291 1024 711 463 281 160 87 42 18 4 2 1 1
## 2020 643 729 625 444 308 211 126 69 30 7 6 2 1 0
## 2021 1643 1703 1246 758 505 251 105 28 15 24 1 1 1 0
## 2022 1193 1283 986 714 417 233 123 55 14 11 2 0 1 0
## 2023 513 569 432 321 212 157 98 53 33 18 7 2 0 0
## 2024 246 221 207 121 63 37 23 8 3 0 0 0 0 0
##
## 39 42 44 45 47 49
## 2015 0 0 0 0 0 0
## 2016 0 0 0 0 0 0
## 2017 0 0 0 0 0 0
## 2018 0 0 0 0 0 0
## 2019 0 0 0 1 0 0
## 2020 1 1 1 0 1 1
## 2021 0 1 0 0 0 0
## 2022 0 0 0 0 0 0
## 2023 0 0 0 0 0 0
## 2024 0 0 0 0 0 0
Ahora escribo los datos en un csv
tatodos <- list(tallacom2, tallapob2)
# Especifica los nombres de los archivos CSV
ttnames <- c("tallacom.csv", "tallapob.csv")
# Guarda cada dataframe en un archivo CSV
for (i in seq_along(tatodos)) {
write.csv(tatodos[[i]],
file = ttnames[i])
}
table(size14_15$ANO, size14_15$MES)
##
## 1 2 3 4 5 6 7 8 9 10 11 12
## 2014 0 8089 3650 5626 14118 5638 4389 3652 9703 4806 10705 771
## 2015 452 4677 1919 6353 541 8892 138 0 0 0 0 0