knitr::opts_chunk$set(echo = TRUE) require(imarpe)
\section{Resumen}
Este documento es una introducción al uso del paquete imarpe
, el cuál proporciona herramientas para la elaboración de gráficas, tablas y reportes que se realizan de manera rutinaria en las investigaciones producidas por el Instituto del Mar del Perú (IMARPE). El objetivo principal de imarpe
es que los usuarios trabajen en R sin requerir conocimientos avanzados de programación, ahorrando tiempo en el procesamiento de información.
Palabras clave: R, imarpe, automatización, reportes, figuras, tablas.
\section{Introducción}
imarpe
es un paquete implementado en R cuya principal función es automatizar el procesamiento de información así como automatizar la elaboración de gráficas, tablas, y reportes que son necesarios en el trabajo rutinario para el personal del Instituto del Mar del Perú (IMARPE). El diseño de este paquete es flexible, permitiendo al usuario realizar cambios sobre los parámetros de los resultados ya que tendrán a su disposición el código en R que genera los productos; adicionalmente, el diseño de este paquete permite trabajar con funciones genéricas (e.g. plot, summary, print) sobre cada clase de datos, facilitando de esta manera su utilización incluso con conocimientos mínimos de R.
\pagebreak
Las principales ventajas que proporciona imarpe
son:
No requiere que el usuario posea conocimientos avanzados de programación y/o R,
Permite ahorrar tiempo en el procesamiento de la información,
Brinda al usuario un procesamiento automatizado de la información,
Permite que el usuario realice cambios sobre los parámetros de las salidas (tablas, figuras y reportes),
Proporciona gráficas de buena calidad así como la capacidad de realizar análisis reproducibles.
\subsection{Programación orientada a objetos}
R tiene tres sistemas orientados a objetos (S3, S4 y R5), y todos trabajan con los conceptos de "clase" y "método". Una clase se define como un tipo de objeto, describiendo que propiedades posee, como funciona y como este objeto se puede relacionar con otros tipos de objetos; de esta manera, cada objeto debe poseer una clase. Por otro lado, un método se define como aquella función que está asociada a un tipo particular de objetos.
S3 implementa un estilo de programación orientada a objetos llamada "función genérica OO" (o en inglés, generic-function OO). En el funcionamiento de este sistema se realizan cálculos a través de métodos y a través de un tipo especial de función llamada "función genérica", la cual decide qué método utilizar.
El uso principal de S3 en R es a través de los métodos print, summary and plot. Estos métodos permiten tener una función genérica por ejemplo de print, que mostraría el objeto de una manera especial.
Instalación de imarpe
Para usar imarpe
se debe tener instalado R, y se recomienda usar la interface gráfica de R Studio.
Para la instalación de todo paquete de R se require contar con internet y luego de verificar esto, desde R Studio se debe intalar y cargar el paquete devtools, de la siguiente manera:
install.packages("devtools") library("devtools")
La instalación de imarpe
se realizará directamente de la cuenta github del Instituto del Mar del Peru (IMARPE) \url{https://github.com/imarpe}, lugar donde se trabaja en las mejoras y actualizaciones de los paquetes en R desarrollados por el personal del IMARPE.
En esta web también se encuentra imarpe
, y su instalación se realizará usando las siguientes líneas de código. La primera línea de código instala el paquete y debe ser corrida por única vez, sin embargo, cada vez que se haga una actualización del paquete, se deberá correr nuevamente para cargar de manera automática la nueva versión de imarpe
. La segunda línea de código se encargará de cargar el paquete ya instalado, esta debe ser ejecutada cada vez que se quiera hacer uso de imarpe
.
install_github("imarpe/imarpe") library(imarpe)
\section{Estructura de imarpe
}
imarpe
cuenta con el desarrollo del módulo de pesquería. Sin embargo, el objetivo es extender el desarrollo del paquete a tres módulos más, los cuales estén conformados por los modulos de biología, oceanografía y cruceros hidroacústicos.
\subsection{Módulo Pesquería}
Esta sección trabaja sobre información pesquera, orientada al análisis de las variables: captura y desembarque, esfuerzo y captura por unidad de esfuerzo (cpue), reproduciendo tablas, gráficas y reportes de manera automatizada. Así mismo, el Programa de Observadores a Bordo (Programa de Bitácoras de Pesca - PBP) del IMARPE también cuenta un subsección de trabajo dentro del módulo de pesquería, el cual permite obtener las principales gráficas y tablas que son requeridas en los reportes periódicos que el PBP emite.
Las principales funciones con las que cuenta imarpe
son 4 y las explicaremos al detalle en las siguientes sub-secciones.
?getFishingData ?downloadDailyFishing ?getDailyReport ?getBitacoraData ?getMainResults.bitacora
\subsubsection{1. Análisis de información pesquera}
getFishingData
Esta función es usada para dos tipos de clases de datos: fishery
y cpue
. La primera clase de datos contiene variables pesqueras que en este caso incluye a los desembarques (landing) y al esfuerzo (effort). La segunda clase de datos incluye a la captura por unidad de esfuerzo, de ahi el nombre de la clase.
imarpe
incluye una base de datos interna (fisheryData
) que será usada para ejemplificar el uso de esta función. Sin embargo, toda base de datos debe poseer información sobre el tiempo (año, mes y dia), sobre la especie en estudio, sobre el tipo de flota y puertos, la información de la captura (o desembarque) así como del esfuerzo pesquero, la información de posición (latitud y longitud) es opcional.
El nombre de las columnas debe ser el mismo al de la base de datos de ejemplo, sin embargo el uso de mayúsculas y minúsculas será resuelto internamente.
En la siguiente demostración del uso de getFishingData
, la función analiza los desembarques de la base de datos contenida en el archivo .csv (archivo delimitado por comas) para obtener como producto i) un archivo de clase data.frame con la base de datos analizada por puerto en resolución temporal diaria, ii) una lista con las principales características de la base de datos analizada, y iii) un resumen de la información por tipo de flota en resolución temporal mensual.
Adicionalmente, la ayuda de esta función puede ser visualizada para una mejor comprensión de los parámetros de la función.
# Cargar la base de datos fisheryData = system.file("extdata", "fisheryData.csv", package = "imarpe") # Usar getFishingData con la base de datos ejemplo (fisheryData) de caballa landing = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "landing", sp = "caballa") class(landing) dataBase = landing$data head(dataBase) info = landing$info info fleet = landing$fleeTable head(fleet) # Para analizar un periodo de tiempo de la base de datos landing = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "landing", sp = "caballa", start = "2009-04-10", end = "2009-08-30") # Para analizar la información de un puerto específico landing = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "landing", sp = "caballa", start = "2009-04-10", end = "2009-08-30", port = "PAITA")
De manera similar al análisis de los desembarques se analizará la información del esfuerzo pesquero continuando con el uso de la función getFishingData
así como de la base de datos interna (fisheryData
).
Para el análisis de esta variable (esfuerzo) el tipo de información (parámetro type
) sigue siendo fisheryInfo
pero el tipo de variable (parámetro varType
) será effort
; y se debe precisar que tipo de esfuerzo pesquero se analizará en el parámetro efforType
. En el siguiente ejemplo se usó capacidad de bodega, pero podría ser número de viajes, número de anzuelos así como número de embarcaciones (ver ayuda de la función getFishingData
para más información).
# Para analizar la información de esfuerzo con la base de datos ejemplo (fisheryData) # de caballa effort = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "effort", sp = "caballa", efforType = "capacidad_bodega") class(effort) dataBase = effort$data head(dataBase) info = effort$info info fleet = effort$fleeTable head(fleet)
Finalmente, el análisis de la captura por unidad de esfuerzo (cpue) se analizará en la siguiente sección. Aquí los parámetros type
y varType
deben ser iguales a cpue
, y se debe precisar que tipo de esfuerzo se usará (en efforType
) para calcular la cpue.
# Para analizar la información de cpue con la base de datos ejemplo (fisheryData) # de caballa cpue = getFishingData(file = fisheryData, type = "cpue", varType = "cpue", sp = "caballa", efforType = "capacidad_bodega") class(cpue) dataBase = cpue$data head(dataBase) info = cpue$info info fleet = cpue$fleeTable head(fleet)
Para los dos últimos ejemplos, de esfuerzo y cpue, también se pueden usar los parámetros start
y end
para hacer un análisis sobre un periodo de tiempo específico, así como el parámetro port
, para analizar la información de un determinado puerto.
Respecto a los métodos, se construyeron cinco métodos para cada una de las clases de datos fishery
y cpue
. Estos son: print
, summary
, print.summary
, plot
y report
; y las ayudas para cada método debe ser llamada por el método seguido por un punto (".") y luego la clase de datos correspondiente.
fishery
# Revisar la ayuda de los métodos de la clase fishery ?print.fishery ?summary.fishery ?print.summary.fishery ?plot.fishery ?report.fishery
La descripción de cada método se dará a continuación:
print.fishery: muestra un resumen del contenido de información de la base de datos de clase fishery. Esta información incluye: (1) el nombre de la base de datos utilizada; (2) el número de registros que poseen los datos; el periodo de tiempo analizado ((3) meses y (4) años); (5) el número de puertos que poseen los datos; (6) la especie analizada en la base de datos y (7) el tipo de variable, en este caso sería landing
o effort
.
summary.fishery: proporciona una lista con: (1) el tipo de variable que fue analizada; (2) una base de datos diaria por puerto de la variable analizada; (3) una base de datos total en escala temporal diaria; una base de datos por puerto; (4) una base de datos en escala temporal mensual; (5) y una base de datos en escala temporal anual.
print.summary.fishery: este método permite visualizar los productos del método summary.fishery
.
plot.fishery: este método permite realizar siete tipos de gráficos con datos de la clase fishery
.
report.fishery: este método exporta un reporte en formato pdf de la base de datos analizada. Internamente este método distingue que tipo de variable ha sido analizada y reproduce un reporte con un formato para los desembarques y otro para el esfuerzo.
Una breve ejemplificación del uso de los métodos de la clase fishery
se muestra en la siguiente sección:
# Cargar la base de datos fisheryData = system.file("extdata", "fisheryData.csv", package = "imarpe") # Crear un objeto de la clase fishery usando la base de datos ejemplo (fisheryData) de #caballa landing = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "landing", sp = "caballa") # Algunos ejemplos del uso de los métodos print(landing) sumLanding = summary(landing) sumLanding$var # Visualizar sólo las primeras seis filas de cada base de datos contenida en sumLanding head(sumLanding$portDay) head(sumLanding$day) head(sumLanding$port) head(sumLanding$months) head(sumLanding$years) # Ejemplo de gráfica diaria, mostrando en el eje x sólo los días "1" # revisar la ayuda de plot.fishery para más información (?plot.fishery) plot(landing, daysToPlot = "1")
# Reporte adjuntado en el Anexo report(landing, daysToPlot = "1")
cpue
# Revisar la ayuda de los métodos de la clase cpue ?print.cpue ?summary.cpue ?print.summary.cpue ?plot.cpue ?report.cpue
La descripción de cada método se dará a continuación:
print.cpue: muestra un resumen del contenido de información de la base de datos de clase cpue. La información que proporciona este método es similar a la que proporciona print.fishery
. Revisar la ayuda de print.cpue
para mayor información.
summary.cpue: proporciona una lista con: (1) el tipo de esfuerzo que fue usado para estimar la cpue; (2) una base de datos diaria por puerto; (3) una base de datos total en escala temporal diaria; una base de datos por puerto; (4) una base de datos en escala temporal mensual; (5) y una base de datos en escala temporal anual.
print.summary.cpue: este método permite visualizar los productos del método summary.cpue
.
plot.cpue: este método permite realizar seis tipos de gráficos con datos de la clase cpue
.
report.cpue: este método exporta un reporte en formato pdf de la base de datos analizada.
Una breve ejemplificación del uso de los métodos de la clase cpue
se muestra en la siguiente sección:
# Cargar la base de datos fisheryData = system.file("extdata", "fisheryData.csv", package = "imarpe") # Crear un objeto de la clase cpue usando la base de datos ejemplo (fisheryData) de #caballa cpue = getFishingData(file = fisheryData, type = "cpue", varType = "cpue", sp = "caballa", efforType = "capacidad_bodega") #Algunos ejemplos del uso de los métodos print(cpue) sumCpue = summary(cpue) sumCpue$effort head(sumCpue$portDay) head(sumCpue$day) head(sumCpue$port) head(sumCpue$months) head(sumCpue$years) # Ejemplo de gráfica mensual # revisar la ayuda de plot.fishery para más información (?plot.fishery) plot(cpue, ploType = "plotMonthly", language= "english", colBar = "gray")
# Reporte adjuntado en el Anexo report(cpue, daysToPlot = "1")
combineFisheryVar
combineFisheryVar
permite combinar en un sólo objeto de clase fishery
la información del desembarque y esfuerzo. El método report.fishery
está disponible para ser usado en este tipo de objetos, permitiendo de esta manera la producción de un reporte unificado con la información de ambas variables pesqueras.
Adicionalmente, este tipo de objetos puede ser usado por el método plot.fishery
usando ploType = "joined"
. Esto produce una gráfica en escala temporal diaria con la información de ambas variables (desembarque y esfuerzo), el desembarque en el eje vertical izquierdo y el esfuerzo en el eje vertical derecho.
# Cargar la base de datos fisheryData = system.file("extdata", "fisheryData.csv", package = "imarpe") # Objeto de clase fishery para la variable tipo landing landingOject = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "landing", sp = "caballa") # Objeto de clase fishery para la variable tipo effort effortObject = getFishingData(file = fisheryData, type = "fisheryinfo", varType = "effort", sp = "caballa", efforType = "capacidad_bodega") # Uso de la función combineFisheryVar fisheryVar = combineFisheryVar(landing = landingOject, effort = effortObject) class(fisheryVar) # Gráfica plot(fisheryVar, ploType = "plotJoined", daysToPlot = "1")
# Reporte adjuntado en el Anexo report(fisheryVar, type = "joined", daysToPlot = "1")
downloadDailyFishing
La función downloadDailyFishing
fue creada con la finalidad de descargar de manera automática la información del seguimiento pesquero de anchoveta. Esta información se encuentra disponible en la página web del Instituto del Mar del Perú (IMARPE) e incluye dos variables pesqueras importantes: i) desembarque y ii) esfuerzo (por número de embarcaciones), ambas en escala temporal diaria.
downloadDailyFishing
retorna una base de datos de clase data.frame
con las variables (en las columnas) de: años, meses, dias, especie, tipo de flota, puerto, desembarque y embarcaciones; el cual representa al esfuerzo pesquero. Esta base de datos puede ser guardada en el directorio en el que se trabaja usando el parámetro saveFile = TRUE
.
# Revisar la ayuda de downloadDailyFishing para más información ?downloadDailyFishing
# Obtener información del seguimiento pesquero fishingInfo = downloadDailyFishing(startDate = "2017-4-20", endDate = "2017-6-19") head(fishingInfo)
La importancia de usar downloadDailyFishing
es que la base de datos que se genera y se guarda en el directorio de trabajo (con extensión .csv) puede ser usado para crear un objeto de clase fishery
con ayuda de la función getFishingData
. Esto permitirá observar y analizar el seguimiento pesquero de la anchoveta de una manera más sencilla.
fishingInfo = downloadDailyFishing(startDate = "2017-4-20", endDate = "2017-6-19") # Utilizando el archivo de extensión .csv que se generó al crear fishingInfo se # analizará el desembarque: dailyLanding = getFishingData(file = "dailyFishing_2017420_2017619.csv", type = "fisheryinfo", varType = "landing", sp = "anchoveta", toTons = FALSE) class(dailyLanding) print(dailyLanding) report(dailyLanding, daysToPlot = "1") # Utilizando el archivo de extensión .csv que se generó al crear fishingInfo se # analizará el esfuerzo (embarcaciones): dailyEffort = getFishingData(file = "dataDailyReport_2017420_2017619.csv", type = "fisheryinfo", varType = "effort", sp = "anchoveta", efforType = "embarcaciones") class(dailyEffort) print(dailyEffort) report(dailyEffort, daysToPlot = "1")
getDailyReport
getDailyReport
es usada para realizar un análisis de los desembarques pesqueros de anchoveta respecto a la biomasa estimada en las cuotas de captura del recurso.
Esta función tiene como finalidad descargar de manera automática los desembarques diarios de anchoveta que estan disponibles en la página web del IMARPE y en función a sus parámetros principales: fechas de análisis, información biológica de la especie, resultados del crucero para la estimación de la biomasa, la cuota oficial de biomasa; se realiza un análisis cuyos resultados serán guardados en un objeto de clase fishingMonitoring
. Este objecto se guardará en el formato RData
en el directorio donde se esté realizando el trabajo.
# Revisar la ayuda de getDailyReport para más información ?getDailyReport
fishingMonitoring
La finalidad principal de getDailyReport
es la construcción del reporte diario de la pesquería de anchoveta, por lo que el método construido para los objetos de la clase fishingMonitoring
es report.fishingMonitoring
.
# Revisar la ayuda del método de la clase fishingMonitoring. ?report.fishingMonitoring
A continuación se incluirá un ejemplo del uso de getDailyReport
. Este código servirá para comprender el formato que deben tener los datos para poder obtener un objeto de clase fishingMonitoring
. El siguiente código debe ser ejecutado sólo si se cuenta con los datos de entrada necesarios.
# Correr el siguiente código solo si se cuenta con la información necesaria. # Lista de fechas datesList = list(startDate = "2017-4-20", endDate = "2017-6-19", startExploringDate = "2017-4-22", endExploringDate = "2017-4-25", startSeasonDate = "2017-4-22", endSeasonDate = "2017-7-31") # Frecuencia simple por talla simpleFreqSizes = "DataTallas_2017-I.csv" # Archivo de crucero en formato RData dataCruise = "cr_170304_det.RData" #Valor de biomasa oficial (en toneladas) officialBiomass = 7778463 # Parámetros a y b a = 0.0034 b = 3.273 x = getDailyReport(datesList = datesList, simpleFreqSizes = simpleFreqSizes, dataCruise = dataCruise, officialBiomass = officialBiomass, a = a, b = b) class(x) # Reporte adjuntado en el Anexo report(x)
getBitacoraData
getBitacoraData
tiene como finalidad leer la información recogida por el programa de Bitácoras de Pesca (PBP) del IMARPE para realizar diversos análisis de manera automatizada y guardarlos en un objeto de clase bitacora
.
La información necesaria para usar getBitacoraData
es un archivo de extensión .csv (delimitado por comas) con el formato original en la que esta base de datos se descarga del IMARSIS (Sistema de Información del IMARPE). Esta base de datos será analizada y se obtendrá un objeto (de clase bitacora
) con dos elementos: i) la base de datos procesada y ii) las principales características de dicha base de datos.
# Cargar la base de datos bitacoraData = system.file("extdata", "bitacoraData.csv", package = "imarpe") # Usar getBitacoraData con la base de datos ejemplo (bitacoraData) bitacoraObject = getBitacoraData(file = bitacoraData) # Revisar la clase de bitacoraObject class(bitacoraObject) # Obtener la base de datos filtrada y revisar las principales características de la # base de datos dataBase = bitacoraObject$data info = bitacoraObject$info info
bitacora
# Revisar la ayuda de los métodos de la clase bitacora ?print.bitacora ?summary.bitacora ?print.summary.bitacora ?plotFishingPoints.bitacora ?plotFishingPresence.bitacora ?plotSpeciesComposition.bitacora ?report.bitacora
Los métodos construidos para la clase de datos bitacora
son 7 y se describirán a continuación:
print.bitacora: muestra la principal información del objeto de clase bitacora
. Esta información incluye: (1) el nombre de la base de datos utilizada; (2) el número de viajes de pesca que posee la base de datos, (3) el número de puertos que se encuentra en la base de datos, (4) el número de meses (5) y años analizados (6), así como los tipos de flota que figuran en la base de datos, estos pueden ser: artesanal, menor escala, industrial de madera e industrial.
summary.bitacora: método que proporciona una lista de clase summary.bitacora
conteniendo: (1) una base de datos de viajes observados por puerto, y (2) una base de datos de lances pesqueros por latitud.
print.summary.bitacora: este método permite visualizar los productos del método summary.bitacora
.
plotFishingPoints.bitacora: este método toma un objeto de clase bitacora
y grafica en un mapa los puntos de pesca de la especie precisada en dataType
.
plotFishingPresence.bitacora: este método toma un objeto de clase bitacora
y grafica en un mapa la incidencia de especies en la captura, ya sea por grupo taxonómico o de manera general.
plotSpeciesComposition.bitacora: este método toma un objeto de clase bitacora
y grafica en un diagrama de pie la composición de las capturas.
report.bitacora: este método exporta un reporte en formato pdf un conjunto de análisis realizados con la base cargada del PBP.
Una breve ejemplificación del uso de los métodos de la clase bitacora
se muestra en la siguiente sección.
# Cargar la base de datos bitacoraData = system.file("extdata", "bitacoraData.csv", package = "imarpe") # Crear un objeto de la clase bitacora usando la base de datos de ejemplo (bitacoraData) bitacoraObject = getBitacoraData(file = bitacoraData) # Algunos ejemplos del uso de los métodos print(bitacoraObject) sumBitacora = summary(bitacoraObject) class(sumBitacora) head(sumBitacora$observedTrip) head(sumBitacora$fishingHaul)
\pagebreak
plotFishingPoints(x = bitacoraObject, language = "spanish", dataType = "dataAnch")
\pagebreak
plotFishingPresence(x = bitacoraObject, byGroup = TRUE, group = "crustaceo")
\pagebreak
plotSpeciesComposition(x = bitacoraObject, minPercentage = 0.7)
# Reporte adjuntado en el Anexo report(bitacoraObject)
\pagebreak
getMainResults
Los resultados que se generan usando la base de datos del PBP es muy amplia, incluyendo una serie de cuadros de datos de diversos tipos. getMainResults
brinda una herramienta sencilla de obtener sólo los resultados que le interesan al usuario de una manera muy sencilla. Para esto, es necesario tener un objeto de clase bitacora
, indicar el idioma en el que se desean visualizar los resultados (español es el idioma por defecto), precisar la especie en estudio, y seleccionar los resultados que se querrar obtener poniendo TRUE
en cada uno de ellos.
A continuación se muestra un breve ejemplo del uso de getMainResults
:
# Cargar la base de datos bitacoraData = system.file("extdata", "bitacoraData.csv", package = "imarpe") # Crear un objeto de la clase bitacora usando la base de datos de ejemplo (bitacoraData) bitacoraObject = getBitacoraData(file = bitacoraData) # Uso de getMainResults.bitacora mainBitacoraData = getMainResults.bitacora(object = bitacoraObject, language = "spanish", specie = "anchoveta", observedTrip = TRUE) # Viajes observados observedTrip = mainBitacoraData$observedTrip head(observedTrip)
effortSpeciesData
El esfuerzo pesquero es una variable importante en el seguimiento de la pesquería de un recurso, y ésta también puede ser analizada con la información que el PBP recoge de manera rutinaria. Por tanto, el uso de effortSpeciesData
tiene la finalidad recibir un objeto de clase bitacora
y realizar un filtro de los datos para una especie, clasificando en función a ella las temporadas de pesca para cada región (norte-centro, sur, o total). El producto generado de dicha función es una data.frame con información que será util para poder estimar el esfuerzo pesquero.
Luego de obtener la base de datos filtrada se puede hacer uso de getEffort
. Esta función permite estimar el esfuerzo en función a cuatro tipos de variables: (1) duración del viaje ("travelTime"), (2) al número de calas ("haulTotal"), (3) capacidad de bodega ("storageCapacity""), y (4) tiempo de búsqueda ("searchTime"); sobre el tiempo (años, meses, dias o temporadas) o sobre los puertos. Adicionalmente, el esfuerzo puede ser estimado para toda la base de datos o haciendo un filtro de algún tipo de flota en especial.
El resultado de getEffort
puede ser utilizado para producir una gráfica típica de los informes de PBP, la cual relaciona los series de esfuerzo pesquero en los ejes Y (izquiero y derecho) por cada puerto en el eje X.
# Cargar la base de datos bitacoraData = system.file("extdata", "bitacoraData.csv", package = "imarpe") # Crear un objeto de la clase bitacora usando la base de datos de ejemplo (bitacoraData) bitacoraObject = getBitacoraData(file = bitacoraData) # Uso de getMainResults.bitacora mainBitacoraData = getMainResults.bitacora(object = bitacoraObject, language = "spanish", specie = "anchoveta", effortData = TRUE) # Data de esfuerzo effortData = mainBitacoraData$effortData # Filtro de datos: datos de anchoveta para la región norte-centro effortNC = effortSpeciesData.bitacora(data = effortData, species = "anchoveta", region = "norte-centro") # Obtener el esfuerzo por duración de viaje effortNC_tt = getEffort(data = effortNC, efforType = "travelTime", effortBy = "port") effortNC_tt # Obtener el esfuerzo por número de calas effortNC_hn = getEffort(data = effortNC, efforType = "haulTotal", effortBy = "port") effortNC_hn
# Gráfico de esfuerzo plotEffort(effort1 = effortNC_tt, effort2 = effortNC_hn, labAxis2 = "Horas de viaje", labAxis4 = "N\u{00FA}mero de calas", colBar="gray", colLine = "black", legend = c("Duracion del viaje", "N\u{00FA}mero de calas"))
Adicionalmente, imarpe
cuenta con una función llamada getCpue_relative
la cual permitirá obtener la captura por unidad de esfuerzo (cpue) removiendo el efecto de la capacidad de bodega. Para obtener la cpue relativa se debe contar con la base de dato generada por effortSpeciesData.bitacora
. Ver el siguiente ejemplo:
effortNC = effortSpeciesData.bitacora(data = effortData, species = "anchoveta", region = "norte-centro") # Obtener la cpue relativa getCpue_relative(data = effortNC, efforType = "travelTime", cpueBy = "port") getCpue_relative(data = effortNC, efforType = "travelTime", cpueBy = "time", timeBy = "months")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.