software-review icon indicating copy to clipboard operation
software-review copied to clipboard

agroclimatico: Índices y Estadísticos Climáticos e Hidrológicos

Open paocorrales opened this issue 2 years ago • 59 comments
trafficstars

Nombre de la Persona Encargada: Paola Corrales Usuario GitHub de la Persona Encargada: @paocorrales Usuario GitHub de las Otras Autoras del Paquete: @eliocamp, @yabellini, @NatiGattinoni Repositorio: https://github.com/AgRoMeteorologiaINTA/agroclimatico Versión Enviada: 1.0.0 Tipo de Envio: Estándar Editora: @Pakillo Revisores: @VeruGHub, @pmnatural

Archivo: TBD Versión Aceptada: TBD Idioma: es

  • Pega el archivo DESCRIPTION completo dentro del siguiente bloque de código.
Package: agromet
Title: Índices y Estadísticos Climáticos e Hidrológicos
Version: 1.0.0
Authors@R: 
    c(person(given = "Yanina",
           family = "Bellini Saibene",
           role = c("ctb"),
           email = "[email protected]"),
      person(given = "Elio",
           family = "Campitelli",
           role = c("aut"),
           email = "[email protected]",
           comment = c(ORCID = "0000-0002-7742-9230")),
      person(given = "Paola",
           family = "Corrales",
           role = c("cre", "aut"),
           email = "[email protected]"),
      person(given = "Natalia",
           family = "Gattinoni",
           role = c("aut"),
           email = "[email protected]"),           
      person(family = "INTA",
           role = c("cph")),
      person("Ruida", "Zhong", role = "cph")
      )
Description: Conjunto de funciones para calcular índices y estadísticos climáticos 
    hidrológicos a partir de datos tidy. Incluye una función para graficar resultados 
    georeferenciados y e información cartográfica.
License: GPL-3 + file LICENSE
Encoding: UTF-8
Language: es
LazyData: true
Roxygen: list(markdown = TRUE)
RoxygenNote: 7.2.3
URL: https://github.com/AgRoMeteorologiaINTA/agromet
BugReports: https://github.com/AgRoMeteorologiaINTA/agromet/issues
Depends: 
    R (>= 2.10)
Imports: 
    readr,
    data.table,
    scales,
    lmomco,
    sf,
    automap,
    png,
    grid,
    ggnewscale,
    tidyr,
    ggplot2,
    rappdirs,
    magrittr,
    kableExtra,
    Rcpp (>= 0.12.0),
    cli,
    SPEI (>= 1.8.1)
Suggests: 
    testthat,
    dplyr,
    vdiffr,
    lubridate,
    covr,
    knitr,
    rmarkdown
VignetteBuilder: knitr
LinkingTo: Rcpp

Alcance

  • Por favor, indica qué categoría(s) aplican a este paquete. Las puedes encontrar en nuestras políticas de inclusión de paquetes (Inglés). Por favor, tilda todas las apropiadas. Si no estás seguro, te sugerimos que comiences un pre-envío.

    • [ ] recuperación de datos (data retrieval)
    • [ ] extracción de datos (data extraction)
    • [x] munging de datos (data munging)
    • [ ] disposición o declaración de datos (data deposition)
    • [ ] validación y prueba de datos (data validation and testing)
    • [ ] automatización de flujos de trabajo (workflow automation)
    • [ ] control de versiones (version control)
    • [ ] manejo de citas y bibliometría (citation management and bibliometrics)
    • [ ] envoltorios de software científico (scientific software wrappers)
    • [ ] herramientas para trabajo de campo y reproducibilidad (field and lab reproducibility tools)
    • [ ] ligamientos con software de base de datos (database software bindings)
    • [ ] datos geoespaciales (geospatial data)
    • [ ] análisis de texto (text analysis)
  • Explica cómo y por qué el paquete encaja dentro de estas categorías (1 a 3 oraciones): El paquete agromet incluye una serie de funciones para trabajar con datos meteorológicos y calcular distintos índices asociados a aplicaciones agrometeorológicas. Los datos de entrada se organizan usando la filosofía de datos ordenados (o tidy), por lo que las funciones del paquete son genéricas. Pueden aplicarse a cualquier conjunto de datos tabulares independientemente de su origen, orden o nombres de columna.

  • ¿Cuál es la audiencia esperada y las aplicaciones científicas de este paquete? El paquete es ampliamente utilizado por usuaries en distintas dependencias del Instituto Nacional de Tecnología Agropecuaria (INTA) que brindan servicios e información a los agricultores de Argentina. Sin embargo, les usuaries del paquete se extienden a otras instituciones y países de América Latina ya que casi todas las funciones están desarrolladas para ser de uso general e independiente de los datos recolectados por el INTA y la documentación está escrita integramente en español.

  • ¿Hay otros paquetes de R que logren el mismo objetivo? Si los hay, ¿cómo se diferencian del tuyo, o alcanzan nuestro criterio del mejor de su categoría (documento en Inglés)?

Existen algunos paquetes cómo frost y meteor que incluyen funciones para utilizar datos meteorológicos y calcular indices que en algunos casos están asociadosa la actividad agropecuaria. Otro paquete a mencionar es agroclim que según la documentación también incluye el cálculo de una serie de índices agrometeoroógicos fue archivado por CRAN en abril de este año pero el código esta disponible en un repositorio público.

agromet se diferencia de estos paquetes principalmente por 2 características. Por un lado su documentación está escrita integramente en español lo que facilita su uso en Sudamérica. Por el otro lado, sus funciones estan pensadas para ser compatibles con el ecosistema de paquetes que utilizan la filosofía "tidy", lo que facilita posterior manipulación, visualización y uso de los resultados obtenidos con agromet.

Revisiones Técnicas

Tilda los siguientes items para confirmar que los has completado:

Este paquete:

Opciones de Publicación

Opciones para MEE
  • [ ] Este paquete es novedoso y será de interés para la mayoría de lectores de la revista.
  • [ ] El manuscrito que describe el paquete no tiene más de 3000 palabras y está escrito en Inglés.
  • [ ] Tienes intenciones de archivar el código del paquete en un repositorio a largo plazo, que cumple los requerimientos de la revista (mira las Políticas de Publicación de MEE (documento en Inglés))
  • (Alcance: Considera los Objetivos y Alcance de MEE (documento en Inglés) para tu manuscrito. No otorgamos garatías de que tu manuscrito esté en el ámbito de MEE.)
  • (Aunque no es requerido, recomendamos tener un manuscrito completamente preparado y en Inglés, al momento de enviar.)
  • (Por favor, no envíes tu paquete de forma separada a Methods in Ecology and Evolution)

Código de Conducta

paocorrales avatar Jul 30 '23 21:07 paocorrales

Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help for help.

ropensci-review-bot avatar Jul 30 '23 21:07 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Jul 30 '23 21:07 ropensci-review-bot

Checks for agromet (v1.0.0)

git hash: d537dd20

  • :heavy_check_mark: Package name is available
  • :heavy_check_mark: has a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_check_mark: Package has continuous integration checks.
  • :heavy_check_mark: Package coverage is 96.7%.
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Function names are duplicated in other packages

(Checks marked with :eyes: may be optionally addressed.)

Package License: GPL-3 + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 243
internal agromet 62
internal utils 31
internal stats 26
internal grDevices 10
internal graphics 6
imports data.table 15
imports magrittr 7
imports ggplot2 5
imports SPEI 5
imports readr 4
imports lmomco 4
imports cli 4
imports grid 3
imports sf 2
imports automap 2
imports png 1
imports tidyr 1
imports rappdirs 1
imports scales NA
imports ggnewscale NA
imports kableExtra NA
imports Rcpp NA
suggests testthat NA
suggests dplyr NA
suggests vdiffr NA
suggests lubridate NA
suggests covr NA
suggests knitr NA
suggests rmarkdown NA
linking_to Rcpp NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (38), c (23), data.frame (18), q (14), file (9), paste0 (8), args (7), dir (6), if (6), length (6), format (5), return (5), suppressWarnings (5), file.path (4), is.finite (4), names (4), seq_along (4), kappa (3), lapply (3), max (3), mean (3), normalizePath (3), source (3), sum (3), url (3), abs (2), as.data.frame (2), call (2), cumsum (2), diff (2), for (2), gamma (2), ifelse (2), is.na (2), log (2), match.call (2), mean.Date (2), min (2), missing (2), rep (2), system.file (2), unique (2), as.character (1), deparse (1), do.call (1), drop (1), exp (1), gsub (1), match.fun (1), mode (1), pmatch (1), range (1), readLines (1), rle (1), seq (1), signif (1), sink (1), strsplit (1), substitute (1), switch (1), tempdir (1)

agromet

completar_serie (5), glo.loglik (4), spi (4), dir_mapas (3), kringe (3), pdsi_coeficientes (3), C_pdsi (2), computar_olas (2), get_mapa (2), mapa_provincias (2), resolve_resolucion (2), agromet_informe (1), anomalia_porcentual (1), borrar_cache (1), compute_breaks (1), ConvertLongitude (1), coord_argentina (1), decil (1), descargar_mapa (1), dias_promedio (1), ith (1), kable_inta (1), lat_label (1), leer_nh (1), leer_surfer (1), lon_label (1), mapa_argentina (1), mapa_argentina_limitrofes (1), mapa_departamentos (1), mapear (1), metadatos_nh (1), olas (1), parglo.maxlik (1), pdsi (1), pdsi_ac (1), pdsi_internal (1), plot.metadatos_nh (1), replace_if_null (1), scale_color_inta (1), spi_params (1), surfer_to_hex (1)

utils

data (23), read.delim (4), capture.output (2), download.file (1), unzip (1)

stats

start (10), ts (9), optim (3), end (2), ecdf (1), fitted (1)

data.table

as.data.table (4), melt (4), month (4), year (2), rbindlist (1)

grDevices

colours (5), palette (3), colorRampPalette (1), rgb (1)

magrittr

%>% (7)

graphics

par (3), points (3)

ggplot2

geom_sf (2), aes (1), geom_point (1), scale_color_brewer (1)

SPEI

spi (5)

cli

cli_abort (4)

lmomco

are.parglo.valid (4)

readr

fwf_widths (2), read_fwf (2)

grid

rasterGrob (2), unit (1)

automap

autoKrige (2)

sf

read_sf (1), st_as_sf (1)

png

readPNG (1)

rappdirs

user_data_dir (1)

tidyr

complete (1)

NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in C++ (70% in 4 files) and R (30% in 22 files)
  • 3 authors
  • 1 vignette
  • 5 internal data files
  • 17 imported packages
  • 27 exported functions (median 8 lines of code)
  • 68 non-exported functions in R (median 10 lines of code)
  • 97 R functions (median 24 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 22 83.6
files_src 4 87.0
files_vignettes 1 68.4
files_tests 11 91.7
loc_R 642 55.4
loc_src 1488 70.2
loc_vignettes 179 45.4
loc_tests 233 58.7
num_vignettes 1 64.8
data_size_total 340295 90.1
data_size_median 9699 78.9
n_fns_r 95 75.2
n_fns_r_exported 27 75.5
n_fns_r_not_exported 68 75.3
n_fns_src 97 78.9
n_fns_per_file_r 3 45.5
n_fns_per_file_src 22 94.3
num_params_per_fn 2 11.9
loc_per_fn_r 9 24.3
loc_per_fn_r_exp 8 16.3
loc_per_fn_r_not_exp 10 34.7
loc_per_fn_src 24 76.8
rel_whitespace_R 29 69.3
rel_whitespace_src 27 77.1
rel_whitespace_vignettes 50 59.8
rel_whitespace_tests 46 73.7
doclines_per_fn_exp 49 61.8
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 334 92.9

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check

GitHub Workflow Results

id name conclusion sha run_number date
5708281034 pkgcheck success d537dd 13 2023-07-30
5708281033 R-CMD-check success d537dd 117 2023-07-30
5708281035 test-coverage success d537dd 54 2023-07-30

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following check_fail:

  1. no_import_package_as_a_whole

Test coverage with covr

Package coverage: 96.73

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 183 potential issues:

message number of times
Avoid library() and require() calls in packages 9
Avoid trailing semicolons, they are not needed. 1
Lines should not be more than 80 characters. 172
Use <-, not =, for assignment. 1

4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following 3 function names are duplicated in other packages:

    • ith from bioclim
    • spei from SPEI
    • spi from bayestestR, precintcon, SPEI

Package Versions

package version
pkgstats 0.1.3.4
pkgcheck 0.1.2.1

Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

ropensci-review-bot avatar Jul 30 '23 21:07 ropensci-review-bot

@ropensci-review-bot assign @Pakillo as editor

noamross avatar Sep 01 '23 14:09 noamross

Assigned! @Pakillo is now the editor

ropensci-review-bot avatar Sep 01 '23 14:09 ropensci-review-bot

Gracias @paocorrales y colaboradoras por contribuir su paquete al proceso de revisión de rOpenSci, para el cual actuaré de editor invitado. Cualquier comentario o sugerencia que tengan durante el proceso, por favor no duden en comunicármelo.

Algunos puntos que me gustaría tratar antes de comenzar el proceso de revisión:

Alcance y solapamiento con otros paquetes

Estoy de acuerdo en la amplia utilidad del paquete. Sólo un comentario: cuando se discute el posible solapamiento con otros paquetes se menciona agroclim que "fue archivado por CRAN en abril de este año y el código no parece estar disponible en un repositorio público."

agroclim está disponible en este repositorio: https://github.com/rsnotivoli/agroclim. El motivo de expulsión de CRAN parece ser el cambio de email del autor. Parece que la intención del autor es restablecer el paquete en CRAN. En cualquier caso, aunque exista solapamiento creo que existe nicho para ambos paquetes. Pero estará bien revisar esta cuestión (sobre todo para evitar posibles duplicidades y reforzar si es posible la funcionalidad existente) durante el proceso de revisión.

Igualmente, como sugerencia más que requisito, pienso que tal vez podría ser útil estudiar la compatibilidad con paquetes como ClimInd, que calcula más de 130 índices climáticos diferentes. Por ejemplo, mostrando algunos ejemplos de cómo integrar ambos paquetes para calcular distintos índices.

Por último, veo que existe otro paquete llamado agrometR para descargar información de la Red Agroclimática Nacional de Chile (llamada agromet, https://www.agromet.cl/). ¿Piensan que la similitud en el nombre (agromet / agrometR) y tema (clima) de ambos paquetes podría ser problemático o confuso para futuros usuarios? En tal caso, ¿se plantearían un cambio de nombre del paquete? (ver guía rOpenSci).

Dependencias

El chequeo automático sugiere que "Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately."

Una búsqueda rápida en el código parecen indicar que los paquetes señalados (scales, ggnewscale, kableExtra, Rcpp) sí que se emplean, por lo que creo que podemos ignorar este comentario.

Nombres de funciones

Hay algunas funciones con nombre duplicado respecto a otros paquetes:

  • ith from bioclim
  • spei from SPEI
  • spi from bayestestR, precintcon, SPEI

Me preocupa particularmente la duplicidad de nombres con el paquete SPEI (funciones spi y spei). Son funciones para calcular lo mismo, pero tanto los argumentos como el resultado (output de la función) difieren. Pienso que esto puede inducir a confusión a algunos usuarios. No es un requisito pero ¿podría plantearse un ligero cambio de nombre para evitar la confusión? ¿O piensan que mantener el mismo nombre es de hecho recomendable? Aquí están las directrices de rOpenSci al respecto.

Documentación

Creo que sería muy útil generar ya una web del paquete para facilitar el proceso de revisión. Esta web puede generarse automáticamente usando pkgdown::build_site() (ver recomendación).

En el README, el tutorial (vignette) y algunas funciones se habla de datos en formato NH y estaciones NH. Estaría bien clarificar a qué se refiere NH.

Por favor añadan unas directrices sobre cómo contribuir (ver https://devguide.ropensci.org/collaboration.html?q=contributi#contributing-guide).

Chequeo del paquete

Tras ejecutar devtools::check() parece que hay algunos problemas menores. Por favor corríjanlos para poder comenzar el proceso de revisión.

Warning: [escalas.R:16] @format requires a value Warning: [escalas.R:20] @format requires a value Warning: [escalas.R:24] @format requires a value

Integración Continua

Por favor modifiquen su GitHub Action para chequear el paquete en la versión actual de R, la anterior, y la que viene (ver guía). E idealmente tanto en Windows como Mac como Ubuntu. Para ello podría usarse esta plantilla generada por usethis::use_github_action("check_standard").

Revisores

Por favor sugieran el nombre de varios revisores potenciales del paquete.

Muchas gracias

Pakillo avatar Sep 04 '23 09:09 Pakillo

Buenos días @paocorrales

Sólo quería comprobar que recibieron mi mensaje anterior y saber si está todo claro. Si no es así, necesitan ayuda con algo, o simplemente necesitan más tiempo, por favor avísenme. En cuanto resolvamos estas cuestiones preliminares podremos empezar la revisión con revisores externos

Gracias y saludos

Pakillo avatar Sep 22 '23 11:09 Pakillo

Muchas gracias por los comentarios y recomendaciones @Pakillo! Me disculpo por la demora, estaba de viaje pero esta semana voy a revisar todo en detalle y hacer los cambios necesarios para comenzar con la revisión. Saludos!

paocorrales avatar Oct 01 '23 21:10 paocorrales

¡Estupendo, gracias!

Pakillo avatar Oct 02 '23 09:10 Pakillo

Muchas gracias por los comentarios @Pakillo y perdón por la demora, respondo a cada punto entre lineas.

Alcance y solapamiento con otros paquetes

Estoy de acuerdo en la amplia utilidad del paquete. Sólo un comentario: cuando se discute el posible solapamiento con otros paquetes se menciona agroclim que "fue archivado por CRAN en abril de este año y el código no parece estar disponible en un repositorio público."

agroclim está disponible en este repositorio: https://github.com/rsnotivoli/agroclim. El motivo de expulsión de CRAN parece ser el cambio de email del autor. Parece que la intención del autor es restablecer el paquete en CRAN. En cualquier caso, aunque exista solapamiento creo que existe nicho para ambos paquetes. Pero estará bien revisar esta cuestión (sobre todo para evitar posibles duplicidades y reforzar si es posible la funcionalidad existente) durante el proceso de revisión.

Muchas gracias por mencionar esto, si bien aún no está en CRAN voy a editar mi primer mensaje incluyendo el link al repositorio para que no genere confunción.

Igualmente, como sugerencia más que requisito, pienso que tal vez podría ser útil estudiar la compatibilidad con paquetes como ClimInd, que calcula más de 130 índices climáticos diferentes. Por ejemplo, mostrando algunos ejemplos de cómo integrar ambos paquetes para calcular distintos índices.

Muchas gracias por la sugerencia! Estuvimos explorando este paquete y si bien incluye muchas funciones en varios casos vimos que las funciones son algo repetitivas (por ejemplo muchas funciones para calcular la temperatura mayor a distintos umbrales, en vez de 1 función que haga eso para cualquier umbral arbitrario). Por otro lado, la salida de estas funciones no es siempre compatible con la filosofía tidy que usamos en nuestras funciones. De todas maneras lo vamos a seguir explorando!

Por último, veo que existe otro paquete llamado agrometR para descargar información de la Red Agroclimática Nacional de Chile (llamada agromet, https://www.agromet.cl/). ¿Piensan que la similitud en el nombre (agromet / agrometR) y tema (clima) de ambos paquetes podría ser problemático o confuso para futuros usuarios? En tal caso, ¿se plantearían un cambio de nombre del paquete? (ver guía rOpenSci).

Luego de consultar con el equipo decidimos cambiar el nombre del paquete a agroclimatico. No encontramos otros paquetes de R o software con este nombre y esperamos que genere menos confución. Quedo atenta por si hay que hacer cambios en este issue.

Nombres de funciones

Hay algunas funciones con nombre duplicado respecto a otros paquetes:

  • ith from bioclim
  • spei from SPEI
  • spi from bayestestR, precintcon, SPEI

Me preocupa particularmente la duplicidad de nombres con el paquete SPEI (funciones spi y spei). Son funciones para calcular lo mismo, pero tanto los argumentos como el resultado (output de la función) difieren. Pienso que esto puede inducir a confusión a algunos usuarios. No es un requisito pero ¿podría plantearse un ligero cambio de nombre para evitar la confusión? ¿O piensan que mantener el mismo nombre es de hecho recomendable? Aquí están las directrices de rOpenSci al respecto.

Entendemos la sugerencia, spi es una función presente en varios paquetes y además es el nombre que se usa para hacer referencia al índice aún en la literatura en español. Cambiamos el nombre de la función a spi_indice que si bien es algo redundante puee ayudar a evitar la confución.

Documentación

Creo que sería muy útil generar ya una web del paquete para facilitar el proceso de revisión. Esta web puede generarse automáticamente usando pkgdown::build_site() (ver recomendación).

Gracias por la sugerencia, el paquete ahora tiene una web creada con pkgdown: https://agrometeorologiainta.github.io/agroclimatico/

En el README, el tutorial (vignette) y algunas funciones se habla de datos en formato NH y estaciones NH. Estaría bien clarificar a qué se refiere NH.

Agregamos algunas aclaraciones.

Por favor añadan unas directrices sobre cómo contribuir (ver https://devguide.ropensci.org/collaboration.html?q=contributi#contributing-guide).

Las directrices sobre como contribuir están disponibles en https://github.com/AgRoMeteorologiaINTA/agromet/blob/master/.github/CONTRIBUTING.md y linkeadas al README

Chequeo del paquete

Tras ejecutar devtools::check() parece que hay algunos problemas menores. Por favor corríjanlos para poder comenzar el proceso de revisión.

Warning: [escalas.R:16] @Format requires a value Warning: [escalas.R:20] @Format requires a value Warning: [escalas.R:24] @Format requires a value

Warnings corregidos, gracias!

Integración Continua

Por favor modifiquen su GitHub Action para chequear el paquete en la versión actual de R, la anterior, y la que viene (ver guía). E idealmente tanto en Windows como Mac como Ubuntu. Para ello podría usarse esta plantilla generada por usethis::use_github_action("check_standard").

Actualizamos la GitHub Action para chequear el paquete con distintas versiones de R y sistemas operativos. En el Caso de Mac tuvimos que skipear los test visuales porque fallan debido a una incompatibilidad entre sistemas operativos que no debería afectar a le usuarie.

Revisores

Por favor sugieran el nombre de varios revisores potenciales del paquete.

Sugerimos a Ana Laura Dietrich, ella tiene experiencia en el desarrollo de paquetes y en el área agrocliomática.

paocorrales avatar Dec 05 '23 02:12 paocorrales

@ropensci-review-bot check package

Pakillo avatar Dec 17 '23 21:12 Pakillo

Thanks, about to send the query.

ropensci-review-bot avatar Dec 17 '23 21:12 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Dec 17 '23 21:12 ropensci-review-bot

@ropensci-review-bot help

Pakillo avatar Dec 17 '23 22:12 Pakillo

Hello @Pakillo, here are the things you can ask me to do:


# Add a review's info to the ROpenSci logs
@ropensci-review-bot submit review <REVIEW_URL> time <REVIEW_HOURS(ex. 10.5)>

# List all available commands
@ropensci-review-bot help

# Show our Code of Conduct
@ropensci-review-bot code of conduct

# Checks peer-review badge is in README.md
@ropensci-review-bot check readme

# Switch to 'seeking reviewers'
@ropensci-review-bot seeking reviewers

# Approves a package. This command will close the issue.
@ropensci-review-bot approve package-name

# Invite the author of a package to the corresponding rOpenSci team. This command should be issued by the author of the package.
@ropensci-review-bot invite me to ropensci/package-name

# Adds package's repo to the rOpenSci team. This command should be issued after approval and transfer of the package.
@ropensci-review-bot finalize transfer of package-name

# Mint package as [bronze/silver/gold]
@ropensci-review-bot mint silver

# Add a user to this issue's reviewers list
@ropensci-review-bot assign xxxxx as reviewer

# Remove a user from the reviewers list
@ropensci-review-bot remove xxxxx from reviewers

# Assign a user as the editor of this submission
@ropensci-review-bot assign @username as editor

# Put the submission on hold for the next 90 days
@ropensci-review-bot put on hold

# Remove the editor assigned to this submission
@ropensci-review-bot remove editor

# Change or add a review's due date for a reviewer
@ropensci-review-bot set due date for @reviewer to YYYY-MM-DD

# Close the issue
@ropensci-review-bot out of scope

# Various package checks
@ropensci-review-bot check package

# Checks srr documentation for stats packages
@ropensci-review-bot check srr

ropensci-review-bot avatar Dec 17 '23 22:12 ropensci-review-bot

Checks for agroclimatico (v1.0.0)

git hash: 2d86dbe8

  • :heavy_check_mark: Package name is available
  • :heavy_check_mark: has a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_check_mark: Package has continuous integration checks.
  • :heavy_check_mark: Package coverage is 96.7%.
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Function names are duplicated in other packages

(Checks marked with :eyes: may be optionally addressed.)

Package License: GPL-3 + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 243
internal agroclimatico 59
internal utils 31
internal stats 26
internal grDevices 10
internal graphics 6
imports data.table 15
imports magrittr 7
imports ggplot2 5
imports SPEI 5
imports readr 4
imports lmomco 4
imports cli 4
imports grid 3
imports sf 2
imports automap 2
imports png 1
imports tidyr 1
imports rappdirs 1
imports scales NA
imports ggnewscale NA
imports kableExtra NA
imports Rcpp NA
suggests testthat NA
suggests dplyr NA
suggests vdiffr NA
suggests lubridate NA
suggests covr NA
suggests knitr NA
suggests rmarkdown NA
linking_to Rcpp NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (38), c (23), data.frame (18), q (14), file (9), paste0 (8), args (7), dir (6), if (6), length (6), format (5), return (5), suppressWarnings (5), file.path (4), is.finite (4), names (4), seq_along (4), kappa (3), lapply (3), max (3), mean (3), normalizePath (3), source (3), sum (3), url (3), abs (2), as.data.frame (2), call (2), cumsum (2), diff (2), for (2), gamma (2), ifelse (2), is.na (2), log (2), match.call (2), mean.Date (2), min (2), missing (2), rep (2), system.file (2), unique (2), as.character (1), deparse (1), do.call (1), drop (1), exp (1), gsub (1), match.fun (1), mode (1), pmatch (1), range (1), readLines (1), rle (1), seq (1), signif (1), sink (1), strsplit (1), substitute (1), switch (1), tempdir (1)

agroclimatico

completar_serie (5), glo.loglik (4), dir_mapas (3), kringe (3), pdsi_coeficientes (3), C_pdsi (2), computar_olas (2), get_mapa (2), mapa_provincias (2), resolve_resolucion (2), agromet_informe (1), anomalia_porcentual (1), borrar_cache (1), compute_breaks (1), ConvertLongitude (1), coord_argentina (1), decil (1), descargar_mapa (1), dias_promedio (1), ith (1), kable_inta (1), lat_label (1), leer_nh (1), leer_surfer (1), lon_label (1), mapa_argentina (1), mapa_argentina_limitrofes (1), mapa_departamentos (1), mapear (1), metadatos_nh (1), olas (1), parglo.maxlik (1), pdsi (1), pdsi_ac (1), pdsi_internal (1), plot.metadatos_nh (1), replace_if_null (1), scale_color_inta (1), spi_indice (1), spi_params (1), surfer_to_hex (1)

utils

data (23), read.delim (4), capture.output (2), download.file (1), unzip (1)

stats

start (10), ts (9), optim (3), end (2), ecdf (1), fitted (1)

data.table

as.data.table (4), melt (4), month (4), year (2), rbindlist (1)

grDevices

colours (5), palette (3), colorRampPalette (1), rgb (1)

magrittr

%>% (7)

graphics

par (3), points (3)

ggplot2

geom_sf (2), aes (1), geom_point (1), scale_color_brewer (1)

SPEI

spi (5)

cli

cli_abort (4)

lmomco

are.parglo.valid (4)

readr

fwf_widths (2), read_fwf (2)

grid

rasterGrob (2), unit (1)

automap

autoKrige (2)

sf

read_sf (1), st_as_sf (1)

png

readPNG (1)

rappdirs

user_data_dir (1)

tidyr

complete (1)

NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in C++ (70% in 4 files) and R (30% in 22 files)
  • 3 authors
  • 1 vignette
  • 5 internal data files
  • 17 imported packages
  • 27 exported functions (median 8 lines of code)
  • 68 non-exported functions in R (median 10 lines of code)
  • 97 R functions (median 24 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 22 83.6
files_src 4 87.0
files_vignettes 1 68.4
files_tests 11 91.7
loc_R 642 55.4
loc_src 1488 70.2
loc_vignettes 179 45.4
loc_tests 233 58.7
num_vignettes 1 64.8
data_size_total 340295 90.1
data_size_median 9699 78.9
n_fns_r 95 75.2
n_fns_r_exported 27 75.5
n_fns_r_not_exported 68 75.3
n_fns_src 97 78.9
n_fns_per_file_r 3 45.5
n_fns_per_file_src 22 94.3
num_params_per_fn 2 11.9
loc_per_fn_r 9 24.3
loc_per_fn_r_exp 8 16.3
loc_per_fn_r_not_exp 10 34.7
loc_per_fn_src 24 76.8
rel_whitespace_R 29 69.3
rel_whitespace_src 27 77.1
rel_whitespace_vignettes 50 59.8
rel_whitespace_tests 46 73.7
doclines_per_fn_exp 49 61.8
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 333 92.9

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check

GitHub Workflow Results

id name conclusion sha run_number date
7095108109 pages build and deployment success f43114 10 2023-12-05
7095086203 pkgcheck success 2d86db 21 2023-12-05
7095086206 pkgdown success 2d86db 8 2023-12-05
7095086213 R-CMD-check success 2d86db 125 2023-12-05
7095086208 test-coverage success 2d86db 62 2023-12-05

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following check_fail:

  1. no_import_package_as_a_whole

Test coverage with covr

Package coverage: 96.73

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 190 potential issues:

message number of times
Avoid library() and require() calls in packages 9
Avoid trailing semicolons, they are not needed. 1
Lines should not be more than 80 characters. 179
Use <-, not =, for assignment. 1

4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages:

    • ith from bioclim

Package Versions

package version
pkgstats 0.1.3.9
pkgcheck 0.1.2.11

Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

ropensci-review-bot avatar Dec 17 '23 22:12 ropensci-review-bot

Muchas gracias por la respuesta y todas las mejoras al paquete @paocorrales et al. Yo creo que está casi listo para pasar a revisión.

Solo tres pequeños detalles por ahora:

  • El fichero ejemplos.Rmd (y su resultado ejemplos.md), ambos en el directorio raíz, parecen obsoletos. ¿Se pueden eliminar?

  • El ejemplo con dias_promedio en el README (https://github.com/AgRoMeteorologiaINTA/agroclimatico?tab=readme-ov-file#d%C3%ADas-promedio) da un warning debido a los últimos cambios en dplyr. ¿Podrían sustituir summarise por reframe como sugiere el warning?

  • El chequeo automático avisa también de que hay una línea con punto y coma al final. Esto no tiene ninguna importancia ni afecta al funcionamiento, pero sugiere su eliminación.

Procedo a continuación a buscar revisores. Si pueden arreglar estos pequeños detalles mientras tanto, estupendo.

Pakillo avatar Dec 18 '23 22:12 Pakillo

Editor checks:

  • [X] Documentation: The package has sufficient documentation available online (README, pkgdown docs) to allow for an assessment of functionality and scope without installing the package. In particular,
    • [X] Is the case for the package well made?
    • [X] Is the reference index page clear (grouped by topic if necessary)?
    • [X] Are vignettes readable, sufficiently detailed and not just perfunctory?
  • [X] Fit: The package meets criteria for fit and overlap.
  • [X] Installation instructions: Are installation instructions clear enough for human users?
  • [X] Tests: If the package has some interactivity / HTTP / plot production etc. are the tests using state-of-the-art tooling?
  • [X] Contributing information: Is the documentation for contribution clear enough e.g. tokens for tests, playgrounds?
  • [X] License: The package has a CRAN or OSI accepted license.
  • [x] Project management: Are the issue and PR trackers in a good shape, e.g. are there outstanding bugs, is it clear when feature requests are meant to be tackled?

Editor comments

¿Algunos issues parecen obsoletos y se podrían cerrar? Sería bueno cerrar lo que ya esté resuelto para indicar claramente a los revisores y usuarios/as del paquete el estado actual del paquete y cuáles son los temas abiertos.

¡Gracias!


Pakillo avatar Dec 18 '23 22:12 Pakillo

@ropensci-review-bot seeking reviewers

Pakillo avatar Dec 18 '23 23:12 Pakillo

Please add this badge to the README of your package repository:

[![Status at rOpenSci Software Peer Review](https://badges.ropensci.org/599_status.svg)](https://github.com/ropensci/software-review/issues/599)

Furthermore, if your package does not have a NEWS.md file yet, please create one to capture the changes made during the review process. See https://devguide.ropensci.org/releasing.html#news

ropensci-review-bot avatar Dec 18 '23 23:12 ropensci-review-bot

Muchas gracias @Pakillo, resolví todos los detalles mencionados :smiley:

paocorrales avatar Dec 19 '23 15:12 paocorrales

Estupendo, muchas gracias @paocorrales

Pakillo avatar Dec 19 '23 16:12 Pakillo

@ropensci-review-bot check package

Pakillo avatar Dec 19 '23 16:12 Pakillo

Thanks, about to send the query.

ropensci-review-bot avatar Dec 19 '23 16:12 ropensci-review-bot

:rocket:

Editor check started

:wave:

ropensci-review-bot avatar Dec 19 '23 16:12 ropensci-review-bot

Checks for agroclimatico (v1.0.0)

git hash: a4b630c0

  • :heavy_check_mark: Package name is available
  • :heavy_check_mark: has a 'codemeta.json' file.
  • :heavy_check_mark: has a 'contributing' file.
  • :heavy_check_mark: uses 'roxygen2'.
  • :heavy_check_mark: 'DESCRIPTION' has a URL field.
  • :heavy_check_mark: 'DESCRIPTION' has a BugReports field.
  • :heavy_check_mark: Package has at least one HTML vignette
  • :heavy_check_mark: All functions have examples.
  • :heavy_check_mark: Package has continuous integration checks.
  • :heavy_check_mark: Package coverage is 96.7%.
  • :heavy_check_mark: R CMD check found no errors.
  • :heavy_check_mark: R CMD check found no warnings.
  • :eyes: Function names are duplicated in other packages

(Checks marked with :eyes: may be optionally addressed.)

Package License: GPL-3 + file LICENSE


1. Package Dependencies

Details of Package Dependency Usage (click to open)

The table below tallies all function calls to all packages ('ncalls'), both internal (r-base + recommended, along with the package itself), and external (imported and suggested packages). 'NA' values indicate packages to which no identified calls to R functions could be found. Note that these results are generated by an automated code-tagging system which may not be entirely accurate.

type package ncalls
internal base 243
internal agroclimatico 59
internal utils 31
internal stats 26
internal grDevices 10
internal graphics 6
imports data.table 15
imports magrittr 7
imports ggplot2 5
imports SPEI 5
imports readr 4
imports lmomco 4
imports cli 4
imports grid 3
imports sf 2
imports automap 2
imports png 1
imports tidyr 1
imports rappdirs 1
imports scales NA
imports ggnewscale NA
imports kableExtra NA
imports Rcpp NA
suggests testthat NA
suggests dplyr NA
suggests vdiffr NA
suggests lubridate NA
suggests covr NA
suggests knitr NA
suggests rmarkdown NA
linking_to Rcpp NA

Click below for tallies of functions used in each package. Locations of each call within this package may be generated locally by running 's <- pkgstats::pkgstats(<path/to/repo>)', and examining the 'external_calls' table.

base

list (38), c (23), data.frame (18), q (14), file (9), paste0 (8), args (7), dir (6), if (6), length (6), format (5), return (5), suppressWarnings (5), file.path (4), is.finite (4), names (4), seq_along (4), kappa (3), lapply (3), max (3), mean (3), normalizePath (3), source (3), sum (3), url (3), abs (2), as.data.frame (2), call (2), cumsum (2), diff (2), for (2), gamma (2), ifelse (2), is.na (2), log (2), match.call (2), mean.Date (2), min (2), missing (2), rep (2), system.file (2), unique (2), as.character (1), deparse (1), do.call (1), drop (1), exp (1), gsub (1), match.fun (1), mode (1), pmatch (1), range (1), readLines (1), rle (1), seq (1), signif (1), sink (1), strsplit (1), substitute (1), switch (1), tempdir (1)

agroclimatico

completar_serie (5), glo.loglik (4), dir_mapas (3), kringe (3), pdsi_coeficientes (3), C_pdsi (2), computar_olas (2), get_mapa (2), mapa_provincias (2), resolve_resolucion (2), agromet_informe (1), anomalia_porcentual (1), borrar_cache (1), compute_breaks (1), ConvertLongitude (1), coord_argentina (1), decil (1), descargar_mapa (1), dias_promedio (1), ith (1), kable_inta (1), lat_label (1), leer_nh (1), leer_surfer (1), lon_label (1), mapa_argentina (1), mapa_argentina_limitrofes (1), mapa_departamentos (1), mapear (1), metadatos_nh (1), olas (1), parglo.maxlik (1), pdsi (1), pdsi_ac (1), pdsi_internal (1), plot.metadatos_nh (1), replace_if_null (1), scale_color_inta (1), spi_indice (1), spi_params (1), surfer_to_hex (1)

utils

data (23), read.delim (4), capture.output (2), download.file (1), unzip (1)

stats

start (10), ts (9), optim (3), end (2), ecdf (1), fitted (1)

data.table

as.data.table (4), melt (4), month (4), year (2), rbindlist (1)

grDevices

colours (5), palette (3), colorRampPalette (1), rgb (1)

magrittr

%>% (7)

graphics

par (3), points (3)

ggplot2

geom_sf (2), aes (1), geom_point (1), scale_color_brewer (1)

SPEI

spi (5)

cli

cli_abort (4)

lmomco

are.parglo.valid (4)

readr

fwf_widths (2), read_fwf (2)

grid

rasterGrob (2), unit (1)

automap

autoKrige (2)

sf

read_sf (1), st_as_sf (1)

png

readPNG (1)

rappdirs

user_data_dir (1)

tidyr

complete (1)

NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately.


2. Statistical Properties

This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.

Details of statistical properties (click to open)

The package has:

  • code in C++ (70% in 4 files) and R (30% in 22 files)
  • 3 authors
  • 1 vignette
  • 5 internal data files
  • 17 imported packages
  • 27 exported functions (median 8 lines of code)
  • 68 non-exported functions in R (median 10 lines of code)
  • 97 R functions (median 24 lines of code)

Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages The following terminology is used:

  • loc = "Lines of Code"
  • fn = "function"
  • exp/not_exp = exported / not exported

All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the checks_to_markdown() function

The final measure (fn_call_network_size) is the total number of calls between functions (in R), or more abstract relationships between code objects in other languages. Values are flagged as "noteworthy" when they lie in the upper or lower 5th percentile.

measure value percentile noteworthy
files_R 22 83.6
files_src 4 87.0
files_vignettes 1 68.4
files_tests 11 91.7
loc_R 642 55.4
loc_src 1488 70.2
loc_vignettes 179 45.4
loc_tests 233 58.7
num_vignettes 1 64.8
data_size_total 340295 90.1
data_size_median 9699 78.9
n_fns_r 95 75.2
n_fns_r_exported 27 75.5
n_fns_r_not_exported 68 75.3
n_fns_src 97 78.9
n_fns_per_file_r 3 45.5
n_fns_per_file_src 22 94.3
num_params_per_fn 2 11.9
loc_per_fn_r 9 24.3
loc_per_fn_r_exp 8 16.3
loc_per_fn_r_not_exp 10 34.7
loc_per_fn_src 24 76.8
rel_whitespace_R 29 69.3
rel_whitespace_src 27 77.1
rel_whitespace_vignettes 50 59.8
rel_whitespace_tests 46 73.7
doclines_per_fn_exp 49 61.8
doclines_per_fn_not_exp 0 0.0 TRUE
fn_call_network_size 333 92.9

2a. Network visualisation

Click to see the interactive network visualisation of calls between objects in package


3. goodpractice and other checks

Details of goodpractice checks (click to open)

3a. Continuous Integration Badges

R-CMD-check

GitHub Workflow Results

id name conclusion sha run_number date
7262878850 pages build and deployment success 3df214 12 2023-12-19
7262805827 pkgcheck success a4b630 23 2023-12-19
7262805825 pkgdown success a4b630 10 2023-12-19
7262805832 R-CMD-check success a4b630 127 2023-12-19
7262805830 test-coverage success a4b630 64 2023-12-19

3b. goodpractice results

R CMD check with rcmdcheck

R CMD check generated the following check_fail:

  1. no_import_package_as_a_whole

Test coverage with covr

Package coverage: 96.73

Cyclocomplexity with cyclocomp

No functions have cyclocomplexity >= 15

Static code analyses with lintr

lintr found the following 189 potential issues:

message number of times
Avoid library() and require() calls in packages 9
Lines should not be more than 80 characters. 179
Use <-, not =, for assignment. 1

4. Other Checks

Details of other checks (click to open)

:heavy_multiplication_x: The following function name is duplicated in other packages:

    • ith from bioclim

Package Versions

package version
pkgstats 0.1.3.9
pkgcheck 0.1.2.11

Editor-in-Chief Instructions:

This package is in top shape and may be passed on to a handling editor

ropensci-review-bot avatar Dec 19 '23 17:12 ropensci-review-bot

@ropensci-review-bot assign @VeruGHub as reviewer

Pakillo avatar Dec 19 '23 17:12 Pakillo

@VeruGHub added to the reviewers list. Review due date is 2024-01-09. Thanks @VeruGHub for accepting to review! Please refer to our reviewer guide.

rOpenSci’s community is our best asset. We aim for reviews to be open, non-adversarial, and focused on improving software quality. Be respectful and kind! See our reviewers guide and code of conduct for more.

ropensci-review-bot avatar Dec 19 '23 17:12 ropensci-review-bot

@VeruGHub: If you haven't done so, please fill this form for us to update our reviewers records.

ropensci-review-bot avatar Dec 19 '23 17:12 ropensci-review-bot

:calendar: @VeruGHub you have 2 days left before the due date for your review (2024-01-09).

ropensci-review-bot avatar Jan 07 '24 17:01 ropensci-review-bot