-
-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
daiquiri: Data quality reporting for temporal datasets #535
Comments
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type |
🚀 Editor check started 👋 |
Checks for daiquiri (v0.7.1)git hash: c316aeb1
Important: All failing checks above must be addressed prior to proceeding Package License: GPL (>=3) 1. Package DependenciesDetails 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.
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. baselist (83), c (29), format (23), sum (22), length (20), names (20), vapply (17), structure (16), is.na (15), for (12), inherits (11), with (11), character (10), is.nan (10), max (9), suppressWarnings (8), seq_along (7), class (6), labels (6), min (6), paste0 (6), which (6), as.character (5), call (5), logical (5), message (5), ncol (5), options (5), anyNA (4), comment (4), lapply (4), mean (4), quote (4), unique (4), as.integer (3), file (3), nrow (3), vector (3), by (2), ceiling (2), data.frame (2), file.path (2), formals (2), grep (2), nchar (2), strsplit (2), which.max (2), as.Date (1), as.list (1), as.numeric (1), col (1), do.call (1), dQuote (1), emptyenv (1), floor (1), gsub (1), is.symbol (1), log10 (1), missing (1), new.env (1), open (1), paste (1), q (1), rle (1), row.names (1), save (1), seq (1), sort (1), substring (1), sys.calls (1), system.file (1), typeof (1), unlist (1), warning (1), withCallingHandlers (1) daiquirifieldtypes (15), datafield (14), fieldtype (11), get_datafield_max (4), get_datafield_min (4), is.fieldtype_timepoint (3), timepoint_as_aggregationunit (3), aggregate_data (2), aggtype_friendlyname (2), fieldtypes_to_cols (2), ft_allfields (2), ft_ignore (2), ft_timepoint (2), get_datafield_missing (2), identify_duplicaterows (2), is.fieldtype (2), log_initialise (2), plot_overview_heatmap_static (2), plot_overview_totals_static (2), aggregateallfields (1), aggregatefield (1), create_report (1), export_aggregated_data (1), fieldtypes_template (1), fieldtypes_to_string (1), ft_categorical (1), ft_datetime (1), ft_duplicates (1), ft_freetext (1), ft_numeric (1), ft_simple (1), ft_uniqueidentifier (1), get_aggfunctions (1), get_collector (1), get_dataclass (1), get_datafield_basetype (1), get_datafield_count (1), get_datafield_fieldtype_name (1), get_datafield_validation_warnings_n (1), get_datafield_vector (1), get_fieldtype_name (1), is.aggregatedata (1), is.aggregatefield (1), is.datafield (1), is.fieldtype_calculated (1), is.fieldtype_datetime (1), is.fieldtype_ignore (1), is.fieldtype_numeric (1), is.fieldtypes (1), is.sourcedata (1), log_close (1), log_function_end (1), log_function_start (1), log_message (1), plot_overview_combo_static (1), plot_timeseries_static (1), prepare_data (1), report_data (1), summarise_aggregated_data (1), summarise_source_data (1), yscale_breaks (1) ggplot2element_text (17), theme (7), ggplot (6), element_blank (5), labs (5), aes_string (4), a (3), element_rect (3), scale_fill_gradient (3), scale_x_date (3), facet_grid (2), geom_point (2), geom_line (1), scale_y_continuous (1), unit (1) statsdf (10), dt (7), heatmap (6), median (3) data.tabledata.table (10), fifelse (4), as.data.table (2), copy (1) utilsdata (7), object.size (1), packageNa (1) scaleslabel_date_short (5), breaks_pretty (3) graphicstitle (6) cowplotplot_grid (5) readrread_delim (2), col_character (1), cols (1), type_convert (1) rmarkdownrender (1) 2. Statistical PropertiesThis 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:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the The final measure (
2a. Network visualisationClick to see the interactive network visualisation of calls between objects in package 3.
|
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
2332879957 | R-CMD-check | success | c316ae | 17 | 2022-05-16 |
2332879944 | test-coverage | success | c316ae | 16 | 2022-05-16 |
3b. goodpractice
results
R CMD check
with rcmdcheck
R CMD check generated the following note:
- checking dependencies in R code ... NOTE
Namespace in Imports field not imported from: ‘reactable’
All declared Imports should be used.
R CMD check generated the following check_fails:
- cyclocomp
- rcmdcheck_imports_not_imported_from
Test coverage with covr
ERROR: Test Coverage Failed
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
validate_params_type | 84 |
aggregatefield | 56 |
Static code analyses with lintr
lintr found the following 550 potential issues:
message | number of times |
---|---|
Lines should not be more than 80 characters. | 550 |
Package Versions
package | version |
---|---|
pkgstats | 0.0.4.30 |
pkgcheck | 0.0.3.19 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with ✖️ have been resolved.
Hi I think there is a problem with pkgcheck. As you can see from the badge on https://github.com/phuongquan/daiquiri, code coverage is 96%, so I don't know why the Test Coverage check has failed your side. Also, as I mentioned in the submission, the item "These functions do not have examples: [daiquiri]" does not appear to be appropriate since daiquiri is not a function but is the package itself (following https://r-pkgs.org/man.html#man-packages). If you want me to add examples for a selection of functions in the package I can do so, but it is not clear to me if that is appropriate. Thanks. |
@phuongquan You're right about the functions not having examples. That was a bug which has now been fixed, so thanks! You can ignore that result. The coverage issue is, however, more problematic. I've tried to run
This is clearly what causes the fails on our system. You should be able to reproduce by cloning your repo in a clean docker container and trying for yourself. I nevertheless see that the GitHub action works, and that your coverage is indeed as you claim, so you may also choose to ignore that if you like. My guess is that it's related to {renv}. |
Hi I just wanted to check if there is anything you are waiting on me for? |
Hi @phuongquan - I apologize for the delay on my end. Thank you again for your submission. I will work on finding an editor and follow up shortly. |
@ropensci-review-bot assign @maurolepore as editor |
@ropensci-review-bot assign @maurolepore as editor |
Assigned! @maurolepore is now the editor |
Hi @phuongquan, I'm pleased to be the handling editor of this submission. I'll re-run checks now. I see the comments above suggest some checks may fail for reasons beyond your control. I'll explore those issues and walk through the editor's template by the end of this week. |
@ropensci-review-bot check package |
Thanks, about to send the query. |
🚀 Editor check started 👋 |
Checks for daiquiri (v0.7.1)git hash: c316aeb1
Important: All failing checks above must be addressed prior to proceeding Package License: GPL (>=3) 1. Package DependenciesDetails 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.
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. baselist (83), c (29), format (23), sum (22), length (20), names (20), vapply (17), structure (16), is.na (15), for (12), inherits (11), with (11), character (10), is.nan (10), max (9), suppressWarnings (8), seq_along (7), class (6), labels (6), min (6), paste0 (6), which (6), as.character (5), call (5), logical (5), message (5), ncol (5), options (5), anyNA (4), comment (4), lapply (4), mean (4), quote (4), unique (4), as.integer (3), file (3), nrow (3), vector (3), by (2), ceiling (2), data.frame (2), file.path (2), formals (2), grep (2), nchar (2), strsplit (2), which.max (2), as.Date (1), as.list (1), as.numeric (1), col (1), do.call (1), dQuote (1), emptyenv (1), floor (1), gsub (1), is.symbol (1), log10 (1), missing (1), new.env (1), open (1), paste (1), q (1), rle (1), row.names (1), save (1), seq (1), sort (1), substring (1), sys.calls (1), system.file (1), typeof (1), unlist (1), warning (1), withCallingHandlers (1) daiquirifieldtypes (15), datafield (14), fieldtype (11), get_datafield_max (4), get_datafield_min (4), is.fieldtype_timepoint (3), timepoint_as_aggregationunit (3), aggregate_data (2), aggtype_friendlyname (2), fieldtypes_to_cols (2), ft_allfields (2), ft_ignore (2), ft_timepoint (2), get_datafield_missing (2), identify_duplicaterows (2), is.fieldtype (2), log_initialise (2), plot_overview_heatmap_static (2), plot_overview_totals_static (2), aggregateallfields (1), aggregatefield (1), create_report (1), export_aggregated_data (1), fieldtypes_template (1), fieldtypes_to_string (1), ft_categorical (1), ft_datetime (1), ft_duplicates (1), ft_freetext (1), ft_numeric (1), ft_simple (1), ft_uniqueidentifier (1), get_aggfunctions (1), get_collector (1), get_dataclass (1), get_datafield_basetype (1), get_datafield_count (1), get_datafield_fieldtype_name (1), get_datafield_validation_warnings_n (1), get_datafield_vector (1), get_fieldtype_name (1), is.aggregatedata (1), is.aggregatefield (1), is.datafield (1), is.fieldtype_calculated (1), is.fieldtype_datetime (1), is.fieldtype_ignore (1), is.fieldtype_numeric (1), is.fieldtypes (1), is.sourcedata (1), log_close (1), log_function_end (1), log_function_start (1), log_message (1), plot_overview_combo_static (1), plot_timeseries_static (1), prepare_data (1), report_data (1), summarise_aggregated_data (1), summarise_source_data (1), yscale_breaks (1) ggplot2element_text (17), theme (7), ggplot (6), element_blank (5), labs (5), aes_string (4), a (3), element_rect (3), scale_fill_gradient (3), scale_x_date (3), facet_grid (2), geom_point (2), geom_line (1), scale_y_continuous (1), unit (1) statsdf (10), dt (7), heatmap (6), median (3) data.tabledata.table (10), fifelse (4), as.data.table (2), copy (1) utilsdata (7), object.size (1), packageNa (1) scaleslabel_date_short (5), breaks_pretty (3) graphicstitle (6) cowplotplot_grid (5) readrread_delim (2), col_character (1), cols (1), type_convert (1) rmarkdownrender (1) 2. Statistical PropertiesThis 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:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the The final measure (
2a. Network visualisationClick to see the interactive network visualisation of calls between objects in package 3.
|
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
2332879957 | R-CMD-check | success | c316ae | 17 | 2022-05-16 |
2332879944 | test-coverage | success | c316ae | 16 | 2022-05-16 |
3b. goodpractice
results
R CMD check
with rcmdcheck
R CMD check generated the following note:
- checking dependencies in R code ... NOTE
Namespace in Imports field not imported from: ‘reactable’
All declared Imports should be used.
R CMD check generated the following check_fails:
- cyclocomp
- rcmdcheck_imports_not_imported_from
Test coverage with covr
ERROR: Test Coverage Failed
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
validate_params_type | 84 |
aggregatefield | 56 |
Static code analyses with lintr
lintr found the following 550 potential issues:
message | number of times |
---|---|
Lines should not be more than 80 characters. | 550 |
4. Other Checks
Details of other checks (click to open)
✖️ The following 5 function names are duplicated in other packages:
-
aggregate_data
from simITS
-
create_report
from DataExplorer, prodigenr, reporter
-
log_close
from logr
-
prepare_data
from bbsBayes, bigstep, childsds, corporaexplorer, disaggregation, fHMM, ggasym, multigroup, multimorbidity, mutualinf, nmm, parsnip, PLNmodels, sglOptim, shapr, ssMousetrack
-
read_data
from creditmodel, deaR, deforestable, diverse, ecocomDP, GeodesiCL, logib, metrix, prepdat, qtlpoly, RTextTools, sjlabelled, whippr
Package Versions
package | version |
---|---|
pkgstats | 0.0.4.55 |
pkgcheck | 0.0.3.40 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with ✖️ have been resolved.
Note: We're still working on a fix for the package coverage failure there - see package GitHub workflow for actual coverage in the meantime: 96%. Sorry for an inconvenience @phuongquan. |
Dear @phuongquan, Thanks again for this awesome submisison! I'm here to help you pass review smoothly. I looked for opportunities to make the package follow rOpenSci's guidelines as closely as possible, and to make the reviewer's job as easy as possible. After the section "Editor checks" you'll see my comments:
Please let me know what questions you have. Editor checks:
Editor commentsTODODocumentation:
Installation instructions:
# install.packages("devtools")
devtools::install_github("phuongquan/daiquiri@v0.7.0") Or # install.packages("pak")
pak::pkg_install("phuongquan/daiquiri@v0.7.0")
CONSIDERDocumentation:
Fit:
Installation instructions:
Tests:
semi-transparency is not supported on this device: reported only once per page devtools::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.2.0 (2022-04-22)
#> os Ubuntu 20.04.4 LTS
#> system x86_64, linux-gnu
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz America/Guatemala
#> date 2022-06-03
#> pandoc 2.17.1.1 @ /usr/lib/rstudio/bin/quarto/bin/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> brio 1.1.3 2021-11-30 [1] RSPM
#> cachem 1.0.6 2021-08-19 [1] RSPM
#> callr 3.7.0 2021-04-20 [1] RSPM
#> cli 3.3.0 2022-04-25 [1] RSPM
#> crayon 1.5.1 2022-03-26 [1] RSPM
#> desc 1.4.1 2022-03-06 [1] RSPM
#> devtools 2.4.3 2021-11-30 [1] RSPM
#> digest 0.6.29 2021-12-01 [1] RSPM
#> ellipsis 0.3.2 2021-04-29 [1] RSPM
#> evaluate 0.15 2022-02-18 [1] RSPM
#> fansi 1.0.3 2022-03-24 [1] RSPM
#> fastmap 1.1.0 2021-01-25 [1] RSPM
#> fs 1.5.2 2021-12-08 [1] RSPM
#> glue 1.6.2 2022-02-24 [1] RSPM
#> highr 0.9 2021-04-16 [1] RSPM
#> htmltools 0.5.2 2021-08-25 [1] RSPM
#> knitr 1.39 2022-04-26 [1] RSPM
#> lifecycle 1.0.1 2021-09-24 [1] RSPM
#> magrittr 2.0.3 2022-03-30 [1] RSPM
#> memoise 2.0.1 2021-11-26 [1] RSPM
#> pillar 1.7.0 2022-02-01 [1] RSPM
#> pkgbuild 1.3.1 2021-12-20 [1] RSPM
#> pkgconfig 2.0.3 2019-09-22 [1] RSPM
#> pkgload 1.2.4 2021-11-30 [1] RSPM
#> prettyunits 1.1.1 2020-01-24 [1] RSPM
#> processx 3.5.3 2022-03-25 [1] RSPM
#> ps 1.7.0 2022-04-23 [1] RSPM
#> purrr 0.3.4 2020-04-17 [1] RSPM
#> R.cache 0.15.0 2021-04-30 [1] RSPM
#> R.methodsS3 1.8.1 2020-08-26 [1] RSPM
#> R.oo 1.24.0 2020-08-26 [1] RSPM
#> R.utils 2.11.0 2021-09-26 [1] RSPM
#> R6 2.5.1 2021-08-19 [1] RSPM
#> remotes 2.4.2 2021-11-30 [1] RSPM
#> reprex 2.0.1 2021-08-05 [1] RSPM
#> rlang 1.0.2 2022-03-04 [1] RSPM
#> rmarkdown 2.14 2022-04-25 [1] RSPM
#> rprojroot 2.0.3 2022-04-02 [1] RSPM
#> rstudioapi 0.13 2020-11-12 [1] RSPM
#> sessioninfo 1.2.2 2021-12-06 [1] RSPM
#> stringi 1.7.6 2021-11-29 [1] RSPM
#> stringr 1.4.0 2019-02-10 [1] RSPM
#> styler 1.7.0 2022-03-13 [1] RSPM
#> testthat 3.1.4 2022-04-26 [1] RSPM
#> tibble 3.1.7 2022-05-03 [1] RSPM (R 4.2.0)
#> usethis 2.1.6 2022-05-25 [1] RSPM (R 4.2.0)
#> utf8 1.2.2 2021-07-24 [1] RSPM
#> vctrs 0.4.1 2022-04-13 [1] RSPM
#> withr 2.5.0 2022-03-03 [1] RSPM
#> xfun 0.31 2022-05-10 [1] RSPM (R 4.2.0)
#> yaml 2.3.5 2022-02-21 [1] RSPM
#>
#> [1] /home/mauro/R/x86_64-pc-linux-gnu-library/4.2
#> [2] /opt/R/4.2.0/lib/R/library
#>
#> ────────────────────────────────────────────────────────────────────────────── Created on 2022-06-03 by the reprex package (v2.0.1) License:
Other:
# devtools::install_github("mangothecat/goodpractice")
goodpractice::goodpractice()
❯ checking dependencies in R code ... NOTE
Namespace in Imports field not imported from: ‘reactable’
All declared Imports should be used.
|
Hi @maurolepore, Many thanks for your comments. I have pushed the following changes:
Other items:
Lastly, The R CMD check note
is erroneous. The 'reactable' package is in fact used (and so needs to be in the DESCRIPTION file) but is probably being missed because it is called from an Rmd file in the inst/rmd folder. Please let me know if you need anything more from me. Kind regards, Phuong |
Thanks! We are almost there :-)
✔ checking examples (36.8s)
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
create_report 17.695 0.679 18.859
report_data 13.871 0.165 14.737
❯ checking dependencies in R code ... NOTE
Namespace in Imports field not imported from: ‘reactable’
All declared Imports should be used. |
@maurolepore We've updated the automated checking in the meantime, so it now flags any submissions which have renv in activated mode, and require that to be de-activated for reviews to proceed. |
@ropensci-review-bot check package |
Thanks, about to send the query. |
🚀 Editor check started 👋 |
Checks for daiquiri (v0.7.2)git hash: 089bd85e
Important: All failing checks above must be addressed prior to proceeding Package License: GPL (>= 3) 1. Package DependenciesDetails 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.
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. baselist (74), c (28), sum (21), format (20), names (19), vapply (16), for (12), is.na (12), length (12), inherits (11), with (11), message (9), structure (9), character (8), suppressWarnings (8), seq_along (7), class (6), labels (6), max (6), as.character (5), call (5), logical (5), min (5), paste0 (5), which (5), as.double (4), is.nan (4), mean (4), options (4), unique (4), by (3), lapply (3), nrow (3), vector (3), anyNA (2), as.integer (2), ceiling (2), data.frame (2), file.path (2), formals (2), grep (2), nchar (2), which.max (2), as.Date (1), as.list (1), as.numeric (1), col (1), do.call (1), dQuote (1), emptyenv (1), file (1), gsub (1), is.symbol (1), missing (1), ncol (1), new.env (1), open (1), paste (1), q (1), rle (1), row.names (1), seq (1), sort (1), strsplit (1), substring (1), sys.calls (1), system.file (1), typeof (1), unlist (1), warning (1) daiquirifieldtypes (12), datafield (11), fieldtype (11), get_datafield_max (4), get_datafield_min (4), is.fieldtype_timepoint (3), timepoint_as_aggregationunit (3), aggregate_data (2), ft_allfields (2), ft_ignore (2), ft_timepoint (2), get_datafield_missing (2), identify_duplicaterows (2), is.fieldtype (2), aggregateallfields (1), aggregatefield (1), aggtype_friendlyname (1), create_report (1), export_aggregated_data (1), fieldtypes_template (1), fieldtypes_to_string (1), ft_categorical (1), ft_datetime (1), ft_duplicates (1), ft_freetext (1), ft_numeric (1), ft_simple (1), ft_uniqueidentifier (1), get_aggfunctions (1), get_collector (1), get_dataclass (1), get_datafield_basetype (1), get_datafield_count (1), get_datafield_fieldtype_name (1), get_datafield_validation_warnings_n (1), get_datafield_vector (1), get_fieldtype_name (1), is.aggregatedata (1), is.aggregatefield (1), is.datafield (1), is.fieldtype_calculated (1), is.fieldtype_datetime (1), is.fieldtype_ignore (1), is.fieldtype_numeric (1), is.fieldtypes (1), is.sourcedata (1), log_initialise (1), plot_overview_heatmap_static (1), plot_overview_totals_static (1), prepare_data (1), report_data (1), summarise_aggregated_data (1), summarise_source_data (1), yscale_breaks (1) ggplot2element_text (10), element_blank (5), ggplot (5), labs (4), aes_string (3), facet_grid (2), geom_point (2), theme (2), element_rect (1), geom_line (1), scale_y_continuous (1), unit (1) statsdf (7), dt (7), median (3), heatmap (2) data.tabledata.table (9), as.data.table (2), fifelse (2), copy (1) scaleslabel_date_short (5), breaks_pretty (3) graphicstitle (5), axis (1) utilsdata (3), object.size (1) readrcols (3) mgcvs (1) NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately. 2. Statistical PropertiesThis 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:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the The final measure (
2a. Network visualisationClick to see the interactive network visualisation of calls between objects in package 3.
|
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
2462421281 | pages build and deployment | success | 089bd8 | 3 | 2022-06-08 |
2462421408 | R-CMD-check | success | 089bd8 | 19 | 2022-06-08 |
2462421399 | test-coverage | success | 089bd8 | 18 | 2022-06-08 |
3b. goodpractice
results
R CMD check
with rcmdcheck
R CMD check generated the following note:
- checking dependencies in R code ... NOTE
Namespace in Imports field not imported from: ‘reactable’
All declared Imports should be used.
R CMD check generated the following check_fails:
- cyclocomp
- rcmdcheck_imports_not_imported_from
Test coverage with covr
Package coverage: 96.12
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
validate_params_type | 84 |
aggregatefield | 56 |
Static code analyses with lintr
lintr found the following 277 potential issues:
message | number of times |
---|---|
Lines should not be more than 80 characters. | 277 |
4. Other Checks
Details of other checks (click to open)
✖️ The following 5 function names are duplicated in other packages:
-
aggregate_data
from simITS
-
create_report
from DataExplorer, prodigenr, reporter
-
log_close
from logr
-
prepare_data
from bbsBayes, bigstep, childsds, corporaexplorer, disaggregation, fHMM, ggasym, multigroup, multimorbidity, mutualinf, nmm, parsnip, PLNmodels, sglOptim, shapr, ssMousetrack
-
read_data
from creditmodel, deaR, deforestable, diverse, ecocomDP, GeodesiCL, logib, metrix, prepdat, qtlpoly, RTextTools, sjlabelled, whippr
Package Versions
package | version |
---|---|
pkgstats | 0.0.4.75 |
pkgcheck | 0.0.3.60 |
Editor-in-Chief Instructions:
Processing may not proceed until the items marked with ✖️ have been resolved.
Hi @maurolepore, I have pushed the following changes:
Please let me know if you need anything more. Thanks, |
Thanks! I'll run checks one last time and start searching for reviewers shortly. Could you please name three people you think might be good reviewers and explain why? (I would appoint only one but having more helps understand what kinds of skill you think are useful.) Here are some more non-blocking comments.
library(daiquiri)
path <- daiquiri_example("raw_data.csv")
raw_data <- readr::read_csv(path)
raw_data
if (interactive()) {
create_report(raw_data)
} Here is a version comments for you library(daiquiri)
# Maybe write this helper (inspired by `readr::readr_example`)
path <- daiquiri_example("raw_data.csv")
# Maybe create a basic .csv that reads well directly with read_csv()?
# I think read_data() might be helpful but not the main goal of the package
raw_data <- readr::read_csv(path)
# Do show what the data looks like. Users may want to know if the data they
# have is a good fit for this package. Ensure to show just a bit. If it doesn't print
# as a tibble, then use `head()` or `str()`.
raw_data
# It won't run when you render README. It will run if copy-pasting this code
if (interactive()) {
# If you add this default: `fieldtypes = fieldtypes()`
create_report(raw_data)
}
|
Dear @phuongquan, Both reviews are now ready. Looking forward to your resp.onse |
Hi @maurolepore, Sorry for the delayed response. I've just come back from holiday today and will take a look at all the comments asap. Thanks. |
@ropensci-review-bot check package |
Thanks, about to send the query. |
🚀 The following problem was found in your submission template:
👋 |
Checks for daiquiri (v0.7.3.9000)git hash: 90d8b074
(Checks marked with 👀 may be optionally addressed.) Package License: GPL (>= 3) 1. Package DependenciesDetails 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.
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. baselist (69), c (24), sum (21), length (19), names (19), format (18), vapply (16), is.na (14), for (12), is.nan (10), with (10), character (8), inherits (8), structure (8), suppressWarnings (8), seq_along (7), as.character (6), class (6), labels (6), max (6), call (5), logical (5), message (5), paste0 (5), which (5), mean (4), min (4), options (4), unique (4), by (3), lapply (3), nrow (3), vector (3), anyNA (2), as.double (2), as.integer (2), ceiling (2), file.path (2), formals (2), grep (2), nchar (2), paste (2), which.max (2), as.Date (1), as.list (1), as.numeric (1), col (1), data.frame (1), do.call (1), dQuote (1), emptyenv (1), file (1), gsub (1), is.symbol (1), missing (1), ncol (1), new.env (1), open (1), q (1), rle (1), row.names (1), seq (1), sort (1), substring (1), summary (1), sys.calls (1), system.file (1), typeof (1), warning (1) daiquirifield_types (13), field_type (11), data_field (7), data_field_max (3), data_field_min (3), is_field_type (3), timepoint_as_timepoint_group (3), aggregate_data (2), create_timepoint_groups (2), data_field_missing (2), data_field_vector (2), ft_allfields (2), ft_timepoint (2), identify_duplicate_rows (2), initialise_log (2), is_ft_timepoint (2), agg_fun_friendly_name (1), aggregate_combined_fields (1), aggregate_field (1), close_log (1), create_report (1), data_field_basetype (1), data_field_count (1), data_field_type (1), data_field_validation_warnings_n (1), dummy_reactable_call (1), export_aggregated_data (1), field_type_aggregation_functions (1), field_type_collector (1), field_type_data_class (1), field_type_type (1), field_types_to_string (1), ft_categorical (1), ft_datetime (1), ft_duplicates (1), ft_freetext (1), ft_ignore (1), ft_numeric (1), ft_simple (1), ft_uniqueidentifier (1), is_aggregated_data (1), is_aggregated_field (1), is_data_field (1), is_field_types (1), is_ft_calculated (1), is_ft_datetime (1), is_ft_ignore (1), is_ft_numeric (1), plot_overview_heatmap_static (1), plot_overview_totals_static (1), prepare_data (1), report_data (1), summarise_aggregated_data (1), summarise_source_data (1), yscale_breaks (1) ggplot2element_text (10), element_blank (5), labs (4), ggplot (3), aes_string (2), facet_grid (2), geom_point (2), theme (2), element_rect (1), geom_line (1), unit (1) statsdt (15), df (5), median (3), heatmap (2) data.tabledata.table (9), as.data.table (2), fifelse (2), copy (1) scaleslabel_date_short (5), breaks_pretty (3) graphicstitle (5), axis (1) readrcols (3) utilsdata (2), object.size (1) reactablecolDef (1) NOTE: Some imported packages appear to have no associated function calls; please ensure with author that these 'Imports' are listed appropriately. 2. Statistical PropertiesThis 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:
Statistical properties of package structure as distributional percentiles in relation to all current CRAN packages
All parameters are explained as tooltips in the locally-rendered HTML version of this report generated by the The final measure (
2a. Network visualisationClick to see the interactive network visualisation of calls between objects in package 3.
|
id | name | conclusion | sha | run_number | date |
---|---|---|---|---|---|
3256586257 | pages build and deployment | success | 90d8b0 | 26 | 2022-10-15 |
3256586295 | R-CMD-check | success | 90d8b0 | 42 | 2022-10-15 |
3256586291 | test-coverage | success | 90d8b0 | 41 | 2022-10-15 |
3b. goodpractice
results
R CMD check
with rcmdcheck
R CMD check generated the following check_fail:
- cyclocomp
Test coverage with covr
Package coverage: 95.13
Cyclocomplexity with cyclocomp
The following functions have cyclocomplexity >= 15:
function | cyclocomplexity |
---|---|
validate_params_type | 84 |
aggregate_field | 56 |
Static code analyses with lintr
lintr found the following 210 potential issues:
message | number of times |
---|---|
Avoid library() and require() calls in packages | 1 |
Lines should not be more than 80 characters. | 209 |
4. Other Checks
Details of other checks (click to open)
✖️ The following 4 function names are duplicated in other packages:
-
aggregate_data
from simITS
-
create_report
from DataExplorer, prodigenr, reporter
-
prepare_data
from bbsBayes, bigstep, childsds, corporaexplorer, disaggregation, fHMM, ggasym, multigroup, multimorbidity, mutualinf, nmm, parsnip, PLNmodels, sglOptim, shapr, ssMousetrack
-
read_data
from creditmodel, deaR, deforestable, diverse, ecocomDP, GeodesiCL, logib, metrix, prepdat, qtlpoly, RTextTools, sjlabelled, whippr
Package Versions
package | version |
---|---|
pkgstats | 0.1.1.54 |
pkgcheck | 0.1.0.24 |
Editor-in-Chief Instructions:
This package is in top shape and may be passed on to a handling editor
Dear @mbcann01 and @maurolepore, Many thanks for your time and effort and patience in reviewing this package, I really appreciate it. Please see my responses to your comments below, with links to the github commit where relevant. (And apologies for some loss of formatting) Response to @mbcann01The example in the "why should I use it" section of README. The figures are nice, but I'm not 100% sure what the connections I'm supposed to be making. Perhaps showing the Y-axis would help me to interpret the figures. Some users may even appreciate you spelling it out for them. Something like, "in the first figure... As you can see, that is reflected in the second figure as...". Example data. This is certainly optional, but I've started including example data in my packages. In the README, it looks as though you are including an example csv file in inst/extdata. To make testing/following along even easier for your users, you may want to consider converting this to exported data that users can load with data(daiquiri_data) or something like that. Here are some instructions if you are interested: https://r-pkgs.org/data.html#sec-data-data I didn't see instructions for contributing anywhere on the README. I apologize if I just overlooked them. Response to @mauroleporeo [ ] (r02-01): In the vignette consider removing the literal reference to o [ ] (r2-02): Please ensure to document the return value of every function, o [ ] (r2-03): Ensure to format code and links as such. o [ ] (r2-04): The package documentation typically lives in R/packagename.R o [ ] (r2-05): Consider using more of the convenient features of roxygen2, o (r2-06): Ensure the use of \donttest{}, \dontrun{}, and \dontshow() as o [ ] (r2-07): Whenever possible, print the result of the examples. For o [ ] (r2-08): Performance might be an issue. I see tests and examples that o [ ] (r2-09): I fail to run test-sourcedata.R -- it takes too long or freezes. o [ ] (r2-10) Adapt the tests or error-class so that each test is sensitive to o [ ] (r2-11): In general, try to use one test file for each function you test
Response: I have followed the file structure recommended in https://style.tidyverse.org/tests.html, i.e.
I have therefore chosen not to change this. o [ ] (r2-12): Make your tests granular enough so that a specific failure would o [ ] (r2-13): Please resolve the items marked with "X" by the command o [ ] (r2-14): Please note all results by the command @ropensci-review-bot check package and look for opportunities to improve the package. For example, o [ ] (r2-15): See rOpenSci's guidelines about code o (r2-17): See rOpenSci's guidelines about naming your o [ ] (r2-18): Ensure exported functions use the format verb_noun() o [ ] (r2-19): Use related prefixes consistently. For example fieldtype() and
versus:
I therefore have a preference to not change this unless it is considered absolutely necessary. • [ ] Should the author(s) deem it appropriate, I agree to be acknowledged as a package reviewer ("rev" role) in the package DESCRIPTION file. • (r2-20) Recently I have seen a push towards quarto. Consider the pros and cons • [ ] (r2-21): Rename the example dataset more specifically to preserve the • [ ] (r2-22): Remove unused code. For example, I see commented-out code in • [ ] (r2-23): Consider removing the function read_data(). It seems to
Response: I created the
Option 1: add custom parameter checking to ensure users don't pass in certain parameters (e.g. by raising an error if they try to pass in Option 2: don't include Option 3: include I have a preference for options 2 or 3 since I do not have the resources to test the potential effects of setting other read_delim() parameters such as • (r2-24): Consider printing objects of class "fieldtypes" as a tibble. That
Response: I experimented with converting fieldtypes to data frames for printing, which worked well when displaying in the console, but worked poorly when writing to the log file. In order not to hold up the review process I have added this as a github issue. • [ ] (r2-25): For a first release consider exporting the minimum code possible. • [ ] (r2-26): In report_data() allow users to pass arguments to • [ ] (r2-27): In prepare_data(), aggregate_data(), and report_data(), • [ ] (r2-28): Consider handling missing arguments using R's default. The custom
Response: The purpose of adding the • (r2-29): I see a heavy use of custom classes. In R this is relatively • (r2-30): I see deep nested logic (see Jenny Bryan's Code smells and validate_params_type 84 aggregatefield 56 • (r2-31): In report_data() I see a call to package = utils::packageName(). • (r2-31): Ensure the code complies with the general principles in the Mozilla |
Dear @phuongquan, many thanks to you for your hard work! @mbcann01, the ball is now in our side of the court. Please check if the changes were made to your satisfaction and indicate if you request more changes or recommend approving this package. If you approve please use this template. @phuongquan, I'll do my best to respond within one week. |
Thanks @phuongquan,
You may place slow tests in tests/testthta/slow/ (or similar) so that your CRAN (or external collaborators) may be unwilling/unable to use as much
Please remove me from DESCRIPTION. I added my agreement by accident. It's Reviewer ResponseFinal approval (post-review)
Estimated hours spent reviewing: 12 |
Hi @maurolepore and @phuongquan, I'm so sorry for the delay! Reviewer ResponseFinal approval (post-review)
Estimated hours spent reviewing: 3 |
Hi @mbcann01 and @maurolepore, That's great news, many thanks! |
@ropensci-review-bot approve daiquiri |
Approved! Thanks @phuongquan for submitting and @brad-cannell, @elinw for your reviews! 😁 To-dos:
Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them Welcome aboard! We'd love to host a post about your package - either a short introduction to it with an example for a technical audience or a longer post with some narrative about its development or something you learned, and an example of its use for a broader readership. If you are interested, consult the blog guide, and tag @ropensci/blog-editors in your reply. They will get in touch about timing and can answer any questions. We maintain an online book with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding (with advice on releases, package marketing, GitHub grooming); the guide also feature CRAN gotchas. Please tell us what could be improved. Last but not least, you can volunteer as a reviewer via filling a short form. |
@ropensci-review-bot finalize transfer of daiquiri |
Transfer completed. |
@phuongquan, I think you can't check the boxes in the "To-dos" task-list, right? If so, here is the source of that task-list. Can you please copy-paste it into a new comment and check the boxes? That will help me see if there is anything else I could help you with.
|
Hi @maurolepore, I have done everything except the central docs item, please see the comment below. To-dos:
I found an issue with the rOpenSci central docs. I have a link to an example report in the menu bar which works in the github pages site https://ropensci.github.io/daiquiri/misc/example_data_report.html but returns a 404 error in the central docs https://docs.ropensci.org/daiquiri/misc/example_data_report.html. I have therefore kept the |
@phuongquan, that's great progress, thanks! A good place for the "Example report" is under vignettes/ as you did with the "Walkthrough for the daiquiri package". You may place it there with navbar:
structure:
left: [intro, reference, example-report, news]
right: [search, github]
components:
example-report:
text: Example report
href: https://path/to/example_data_report.html |
I'm currently in the process of preparing a JOSS paper, are you happy for me to acknowledge you as reviewers in it? |
I just wanted to ask again if you are happy to be acknowledged as reviewers in a JOSS paper? I'd like to try to submit it by the end of the week so a quick response either way would be much appreciated. I won't include you if I don't hear from you. Thanks |
Oh, sorry for the delay. Your contribution is enough, thanks! rOpenSci's guidlines is to not acknowledge editors -- which I think it applies here because I was both reviewer and editor. |
Date accepted: 2022-10-25
Submitting Author Name: T. Phuong Quan
Due date for @brad-cannell: 2022-07-27Submitting Author Github Handle: @phuongquan
Other Package Authors Github handles: (comma separated, delete if none)
Repository: https://github.com/phuongquan/daiquiri
Version submitted: 0.7.1
Submission type: Standard
Editor: @maurolepore
Reviewers: @brad-cannell, @elinw
Due date for @elinw: 2022-08-17
Archive: TBD
Version accepted: TBD
Language: en
Scope
Please indicate which category or categories from our package fit policies this package falls under: (Please check an appropriate box below. If you are unsure, we suggest you make a pre-submission inquiry.):
Explain how and why the package falls under these categories (briefly, 1-2 sentences):
It takes a generic data frame containing raw, record-level, temporal data, and generates a data quality report that enables quick visual review of any unexpected temporal shifts in measures such as missingness, min/max/mean/distinct values, and non-conformance.
The target audience is all researchers who analyse data from large, temporal datasets, particularly routinely-collected data such as electronic health records. The package helps them to quickly check for temporal biases in their data before embarking on their main analyses. It also helps them to do this in a thorough, consistent and transparent way (since the reports are shareable), hence increasing the quality of their studies as well as trust in the scientific process.
To my knowledge, there are a small number of R packages that generate summary statistics and/or data quality reports, (with the two most similar being dataquieR and DQAstats), but none which assist in identifying temporal changes in the data, nor which are as lightweight to use and consume.
Yes
#527
pkgcheck
items which your package is unable to pass.Here is the list of items from version 0.0.3.11. The latest development version (0.0.3.13) is not currently working on Windows.
Technical checks
Confirm each of the following by checking the box.
This package:
Publication options
Do you intend for this package to go on CRAN?
Do you intend for this package to go on Bioconductor?
Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
MEE Options
Code of conduct
The text was updated successfully, but these errors were encountered: