Closed phuongquan closed 1 year ago
Thanks for submitting to rOpenSci, our editors and @ropensci-review-bot will reply soon. Type @ropensci-review-bot help
for help.
:rocket:
Editor check started
:wave:
git hash: c316aeb1
Important: All failing checks above must be addressed prior to proceeding
Package License: GPL (>=3)
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 | 465|
|internal |daiquiri | 120|
|internal |graphics | 6|
|imports |ggplot2 | 63|
|imports |stats | 26|
|imports |data.table | 17|
|imports |utils | 9|
|imports |scales | 8|
|imports |readr | 5|
|imports |cowplot | 5|
|imports |rmarkdown | 1|
|imports |reactable | NA|
|suggests |covr | NA|
|suggests |knitr | NA|
|suggests |testthat | NA|
|suggests |codemetar | NA|
|linking_to |NA | 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(
list (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)
fieldtypes (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)
element_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)
df (10), dt (7), heatmap (6), median (3)
data.table (10), fifelse (4), as.data.table (2), copy (1)
data (7), object.size (1), packageNa (1)
label_date_short (5), breaks_pretty (3)
title (6)
plot_grid (5)
read_delim (2), col_character (1), cols (1), type_convert (1)
render (1)
base
daiquiri
ggplot2
stats
data.table
utils
scales
graphics
cowplot
readr
rmarkdown
This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.
The package has: - code in R (100% in 8 files) and - 1 authors - 1 vignette - no internal data file - 9 imported packages - 18 exported functions (median 10 lines of code) - 130 non-exported functions in R (median 8 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](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) 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 | 8| 50.7| | |files_vignettes | 1| 68.4| | |files_tests | 7| 86.4| | |loc_R | 1314| 75.1| | |loc_vignettes | 143| 37.3| | |loc_tests | 690| 80.9| | |num_vignettes | 1| 64.8| | |n_fns_r | 148| 84.9| | |n_fns_r_exported | 18| 64.2| | |n_fns_r_not_exported | 130| 88.2| | |n_fns_per_file_r | 11| 88.4| | |num_params_per_fn | 2| 10.4| | |loc_per_fn_r | 8| 20.0| | |loc_per_fn_r_exp | 10| 22.2| | |loc_per_fn_r_not_exp | 8| 22.6| | |rel_whitespace_R | 18| 74.6| | |rel_whitespace_vignettes | 45| 47.5| | |rel_whitespace_tests | 21| 80.2| | |doclines_per_fn_exp | 68| 78.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 141| 84.4| | ---
Click to see the interactive network visualisation of calls between objects in package
goodpractice
and other checks#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/phuongquan/daiquiri/workflows/R-CMD-check/badge.svg)](https://github.com/phuongquan/daiquiri/actions) **GitHub Workflow Results** | 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](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following note: 1. 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: 1. cyclocomp 2. rcmdcheck_imports_not_imported_from #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- validate_params_type | 84 aggregatefield | 56 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 550 potential issues: message | number of times --- | --- Lines should not be more than 80 characters. | 550
|package |version | |:--------|:--------| |pkgstats |0.0.4.30 | |pkgcheck |0.0.3.19 |
Processing may not proceed until the items marked with :heavy_multiplication_x: 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 covr::package_coverage()
(as well as codecov()
in a couple of different docker containers and always encouter this error:
simpleWarning in utils::install.packages(repos = NULL, lib = tmp_lib, pkg$path, : installation of package ‘/daiquiri’ had non-zero exit status
simpleWarning in file(con, "r"): cannot open file '/tmp/RtmpRuQwPt/R_LIBS14f26d8825f2/daiquiri/R/daiquiri': No such file or directory
Error in file(con, "r"): cannot open the connection
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}. covr
installs the package in a temporary library location, but our check system loads the package prior to that and so populates your renv
directory. That then does not get copied across to the temporary libary location used by covr
, and so installation fails. It works on GitHub actions because that uses a fresh clone of the repo which populates renv
in the temporary library location.
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.
:rocket:
Editor check started
:wave:
git hash: c316aeb1
Important: All failing checks above must be addressed prior to proceeding
Package License: GPL (>=3)
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 | 465|
|internal |daiquiri | 120|
|internal |graphics | 6|
|imports |ggplot2 | 63|
|imports |stats | 26|
|imports |data.table | 17|
|imports |utils | 9|
|imports |scales | 8|
|imports |readr | 5|
|imports |cowplot | 5|
|imports |rmarkdown | 1|
|imports |reactable | NA|
|suggests |covr | NA|
|suggests |knitr | NA|
|suggests |testthat | NA|
|suggests |codemetar | NA|
|linking_to |NA | 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(
list (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)
fieldtypes (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)
element_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)
df (10), dt (7), heatmap (6), median (3)
data.table (10), fifelse (4), as.data.table (2), copy (1)
data (7), object.size (1), packageNa (1)
label_date_short (5), breaks_pretty (3)
title (6)
plot_grid (5)
read_delim (2), col_character (1), cols (1), type_convert (1)
render (1)
base
daiquiri
ggplot2
stats
data.table
utils
scales
graphics
cowplot
readr
rmarkdown
This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.
The package has: - code in R (100% in 8 files) and - 1 authors - 1 vignette - no internal data file - 9 imported packages - 18 exported functions (median 10 lines of code) - 130 non-exported functions in R (median 8 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](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) 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 | 8| 50.7| | |files_vignettes | 1| 68.4| | |files_tests | 7| 86.4| | |loc_R | 1314| 75.1| | |loc_vignettes | 143| 37.3| | |loc_tests | 690| 80.9| | |num_vignettes | 1| 64.8| | |n_fns_r | 148| 84.9| | |n_fns_r_exported | 18| 64.2| | |n_fns_r_not_exported | 130| 88.2| | |n_fns_per_file_r | 11| 88.4| | |num_params_per_fn | 2| 10.4| | |loc_per_fn_r | 8| 20.0| | |loc_per_fn_r_exp | 10| 22.2| | |loc_per_fn_r_not_exp | 8| 22.6| | |rel_whitespace_R | 18| 74.6| | |rel_whitespace_vignettes | 45| 47.5| | |rel_whitespace_tests | 21| 80.2| | |doclines_per_fn_exp | 68| 78.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 141| 84.4| | ---
Click to see the interactive network visualisation of calls between objects in package
goodpractice
and other checks#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/phuongquan/daiquiri/workflows/R-CMD-check/badge.svg)](https://github.com/phuongquan/daiquiri/actions) **GitHub Workflow Results** | 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](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following note: 1. 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: 1. cyclocomp 2. rcmdcheck_imports_not_imported_from #### Test coverage with [covr](https://covr.r-lib.org/) ERROR: Test Coverage Failed #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- validate_params_type | 84 aggregatefield | 56 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 550 potential issues: message | number of times --- | --- Lines should not be more than 80 characters. | 550
:heavy_multiplication_x: 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 |version | |:--------|:--------| |pkgstats |0.0.4.55 | |pkgcheck |0.0.3.40 |
Processing may not proceed until the items marked with :heavy_multiplication_x: 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:
I listed some issues I need you to please address before I start searching for reviewers. You may refer to them using the labels ml01, ml02, and so on.
Also I listed some other issues for you to consider. Those ones have no label and won't block the process but if you address them now you're sure they won't be picked up by the reviewers.
Please let me know what questions you have.
[ ] 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,
[ ] Installation instructions: Are installation instructions clear enough for human users?
[ ] 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?
[ ] 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?
Documentation:
Installation instructions:
repo
argument):# install.packages("devtools")
devtools::install_github("phuongquan/daiquiri@v0.7.0")
Or
# install.packages("pak")
pak::pkg_install("phuongquan/daiquiri@v0.7.0")
use_r()
and use_test()
.Documentation:
We recommend creating a documentation website for your package using pkgdown.
If you do use pkgdown and rename your vignette from "walkthrough" to "daiquiri" then it will be automatically exposed on the package website under the navigation-bar link as "Get started" (e.g. dplyr, readr).
Fit:
Installation instructions:
It's common to consider the code on GitHub as "in development" and the code on CRAN as "released". If embrace that release model then users installing from GitHub only need the default branch.
If you stick to using GitHub releases, then consider upgrading them from "pre-release" to "release" (https://github.com/phuongquan/daiquiri/releases).
The installation instructions are under the heading "Get started". Instead many popular packages use the heading "Installation" (e.g. dplyr, ggplot2), mainy because it's the template you get with
usethis::use_readme_rmd()
.
Tests:
devtools::test()
results in 24 warnings with this message:semi-transparency is not supported on this device: reported only once per page
License:
usethis::use_gpl3_license()
. This is a good way to ensure the license and related infrastructure are setup correctly.Other:
renv::deactivate()
. I see that renv can help the develpoer in some ways -- such as to explore issues with backwards and forwards compatibility, {and} reverse dependency checks -- but it seems to add some friction for reviewers. For example, immediatlely after cloning the repo in a fresh project on https://rstudio.cloud I get this message:* Project '/cloud/project' loaded. [renv 0.12.2]
Warning message:
Project requested R version '4.1.2' but '4.2.0' is currently being used
* The project may be out of sync -- use `renv::status()` for more details.
Consider running usethis::use_tidy_style()
. This will style the code in a way that is more likely to be familiar to the reviewers.
Consider running spelling::spell_check_package()
.
Consider running goodpractice()
. The most frequent suggestion I see is this:
"avoid long code lines, it's bad for readability. Also, many people prefer editor windows that are about 80 characters wide. Try make your lines shorter than 80 characters"
# devtools::install_github("mangothecat/goodpractice")
goodpractice::goodpractice()
usethis::use_import_from()
). This should avoid this R CMD check note:❯ checking dependencies in R code ... NOTE
Namespace in Imports field not imported from: ‘reactable’
All declared Imports should be used.
Consider replacing the current package-documentation with the one generated automatically with usethis::use_package_doc()
. This might help avoid the issue with the bot.
Consider automating package-development tasks with usethis (https://usethis.r-lib.org/). For a quick tour see https://r-pkgs.org/whole-game.html.
Hi @maurolepore,
Many thanks for your comments. I have pushed the following changes:
devtools::install_github("phuongquan/daiquiri@v0.7.0")
in that it failed for me when I added the option build_vignettes = TRUE
. I think it might be an issue with renv
and I don't know how to fix it, or if other people would get the same error. Since I feel the vignette is very important, I have updated the installation instructions to continue to use the github release but also included a line to explicitly install the dependencies first. Please let me know if this is sufficient. Also, this should no longer be an issue once it's on CRANOther items:
usethis::use_gpl3_license()
Lastly, The R CMD check note
Namespace in Imports field not imported from: ‘reactable’ All declared Imports should be used
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 :-)
ml01. It would be nice to see the output so users can understand without having to install the package and run the code. This idea comes from the philosophy of good reproducible examples -- https://reprex.tidyverse.org/articles/reprex-dos-and-donts.html#package-philosophy
[x] ml02: I thought about this a bit more and I now think we can't ask the reviewers to consider both the HEAD of the repo and the latest release. If you want them to review the latest release, then please make it the HEAD. Then the simpler installation instructions should be sufficient. After the review you are welcome to again point users to a GitHub release if you still think that's the best idea. In general I think it's good to see what other popular packages do. That will give you a good sense of what most users will expect. Users tend to like packages that are consistent with other packages because they can reuse what they already know, lowering the overall effort they need to use the new package.
[x] ml04: Please deactivate renv from the version you submit for review. I thought a bit more about this issue and I now think it's imprtant to address it before review. Reviewers will have to deactivate renv to access packages they need for the review (e.g. devtools) and renv blocks that. Please be kind with the voluntary reviewers and do it yourself. After the review you are welcome to activate renv again.
[x] ml05: Please ensure the examples for create_report()
and report_data()
run in 5s or less. This is required for CRAN and kind to the reviewers who may run R CMD check multiple times. Also it may distract them from other more interesting issues. R CMD check shows this:
✔ 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.
:rocket:
Editor check started
:wave:
git hash: 089bd85e
Important: All failing checks above must be addressed prior to proceeding
Package License: GPL (>= 3)
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 | 402|
|internal |daiquiri | 102|
|internal |graphics | 6|
|internal |mgcv | 1|
|imports |ggplot2 | 37|
|imports |stats | 19|
|imports |data.table | 14|
|imports |scales | 8|
|imports |utils | 4|
|imports |readr | 3|
|imports |cowplot | NA|
|imports |rmarkdown | NA|
|imports |reactable | NA|
|suggests |covr | NA|
|suggests |knitr | NA|
|suggests |testthat | NA|
|suggests |codemetar | NA|
|linking_to |NA | 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(
list (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)
fieldtypes (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)
element_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)
df (7), dt (7), median (3), heatmap (2)
data.table (9), as.data.table (2), fifelse (2), copy (1)
label_date_short (5), breaks_pretty (3)
title (5), axis (1)
data (3), object.size (1)
cols (3)
s (1)
base
daiquiri
ggplot2
stats
data.table
scales
graphics
utils
readr
mgcv
This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.
The package has: - code in R (100% in 8 files) and - 1 authors - 1 vignette - no internal data file - 9 imported packages - 18 exported functions (median 10 lines of code) - 130 non-exported functions in R (median 9 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](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) 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 | 8| 50.7| | |files_vignettes | 1| 68.4| | |files_tests | 7| 86.4| | |loc_R | 1914| 83.4| | |loc_vignettes | 143| 37.3| | |loc_tests | 878| 85.1| | |num_vignettes | 1| 64.8| | |n_fns_r | 148| 84.9| | |n_fns_r_exported | 18| 64.2| | |n_fns_r_not_exported | 130| 88.2| | |n_fns_per_file_r | 11| 88.4| | |num_params_per_fn | 2| 10.4| | |loc_per_fn_r | 10| 27.7| | |loc_per_fn_r_exp | 10| 22.2| | |loc_per_fn_r_not_exp | 9| 27.1| | |rel_whitespace_R | 12| 75.0| | |rel_whitespace_vignettes | 45| 47.5| | |rel_whitespace_tests | 17| 79.9| | |doclines_per_fn_exp | 68| 78.4| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 141| 84.4| | ---
Click to see the interactive network visualisation of calls between objects in package
goodpractice
and other checks#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/phuongquan/daiquiri/workflows/R-CMD-check/badge.svg)](https://github.com/phuongquan/daiquiri/actions) **GitHub Workflow Results** | 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](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following note: 1. 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: 1. cyclocomp 2. rcmdcheck_imports_not_imported_from #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 96.12 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- validate_params_type | 84 aggregatefield | 56 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 277 potential issues: message | number of times --- | --- Lines should not be more than 80 characters. | 277
:heavy_multiplication_x: 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 |version | |:--------|:--------| |pkgstats |0.0.4.75 | |pkgcheck |0.0.3.60 |
Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.
Hi @maurolepore,
I have pushed the following changes:
Please let me know if you need anything more.
Thanks, Phuong
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)
}
@ropensci-review-bot check package
Thanks, about to send the query.
:rocket:
Editor check started
:wave:
git hash: 339a93e8
Important: All failing checks above must be addressed prior to proceeding
Package License: GPL (>= 3)
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 | 401|
|internal |daiquiri | 102|
|internal |graphics | 6|
|internal |mgcv | 1|
|imports |ggplot2 | 37|
|imports |stats | 19|
|imports |data.table | 14|
|imports |scales | 8|
|imports |utils | 4|
|imports |readr | 3|
|imports |reactable | 1|
|imports |cowplot | NA|
|imports |rmarkdown | NA|
|suggests |covr | NA|
|suggests |knitr | NA|
|suggests |testthat | NA|
|suggests |codemetar | NA|
|linking_to |NA | 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(
list (74), c (28), sum (21), format (20), names (19), vapply (16), for (12), is.na (12), length (12), with (11), inherits (10), 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)
fieldtypes (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), dummy_reactable_call (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), 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)
element_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)
df (7), dt (7), median (3), heatmap (2)
data.table (9), as.data.table (2), fifelse (2), copy (1)
label_date_short (5), breaks_pretty (3)
title (5), axis (1)
data (3), object.size (1)
cols (3)
s (1)
colDef (1)
base
daiquiri
ggplot2
stats
data.table
scales
graphics
utils
readr
mgcv
reactable
This package features some noteworthy statistical properties which may need to be clarified by a handling editor prior to progressing.
The package has: - code in R (100% in 8 files) and - 1 authors - 1 vignette - no internal data file - 9 imported packages - 18 exported functions (median 10 lines of code) - 132 non-exported functions in R (median 9 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](https://docs.ropensci.org/pkgcheck/reference/checks_to_markdown.html) 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 | 8| 50.7| | |files_vignettes | 1| 68.4| | |files_tests | 7| 86.4| | |loc_R | 1917| 83.4| | |loc_vignettes | 143| 37.3| | |loc_tests | 878| 85.1| | |num_vignettes | 1| 64.8| | |n_fns_r | 150| 85.2| | |n_fns_r_exported | 18| 64.2| | |n_fns_r_not_exported | 132| 88.4| | |n_fns_per_file_r | 11| 88.5| | |num_params_per_fn | 2| 10.4| | |loc_per_fn_r | 9| 24.3| | |loc_per_fn_r_exp | 10| 22.2| | |loc_per_fn_r_not_exp | 9| 27.1| | |rel_whitespace_R | 13| 75.2| | |rel_whitespace_vignettes | 45| 47.5| | |rel_whitespace_tests | 17| 79.9| | |doclines_per_fn_exp | 69| 79.2| | |doclines_per_fn_not_exp | 0| 0.0|TRUE | |fn_call_network_size | 141| 84.4| | ---
Click to see the interactive network visualisation of calls between objects in package
goodpractice
and other checks#### 3a. Continuous Integration Badges [![R-CMD-check](https://github.com/phuongquan/daiquiri/workflows/R-CMD-check/badge.svg)](https://github.com/phuongquan/daiquiri/actions) **GitHub Workflow Results** | id|name |conclusion |sha | run_number|date | |----------:|:--------------------------|:----------|:------|----------:|:----------| | 2503730587|pages build and deployment |success |339a93 | 7|2022-06-15 | | 2503730618|R-CMD-check |success |339a93 | 23|2022-06-15 | | 2503730623|test-coverage |success |339a93 | 22|2022-06-15 | --- #### 3b. `goodpractice` results #### `R CMD check` with [rcmdcheck](https://r-lib.github.io/rcmdcheck/) R CMD check generated the following check_fail: 1. cyclocomp #### Test coverage with [covr](https://covr.r-lib.org/) Package coverage: 96.06 #### Cyclocomplexity with [cyclocomp](https://github.com/MangoTheCat/cyclocomp) The following functions have cyclocomplexity >= 15: function | cyclocomplexity --- | --- validate_params_type | 84 aggregatefield | 56 #### Static code analyses with [lintr](https://github.com/jimhester/lintr) [lintr](https://github.com/jimhester/lintr) found the following 279 potential issues: message | number of times --- | --- Lines should not be more than 80 characters. | 279
:heavy_multiplication_x: 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 |version | |:--------|:--------| |pkgstats |0.0.4.75 | |pkgcheck |0.0.3.60 |
Processing may not proceed until the items marked with :heavy_multiplication_x: have been resolved.
Hi @maurolepore,
I'd like to suggest the following reviewers:
These two people have worked on R packages looking at data quality in the same research field that daiquiri was originally developed for:
And this person comes from a more general area of reviewing data in a friendly/attractive way:
Thanks, Phuong
Hi @maurolepore,
I just read the Peer review policies and think the suggestions I made may have conflicts of interest in that they are significant contributors to what may be seen as "competitor projects". I would like to suggest the following reviewers instead, who are more from the user side:
Thanks! Phuong
Hi @maurolepore,
In response to your other comments:
- ml01. Maybe you could minimize your example to somethis like this:
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) }
I have condensed the example to remove arguments that have defaults and to show the head of the example data. I have also tried to make it clearer that the main purpose of the read_data() function is to read in the data without doing any datatype conversions so that daiquiri can check for any non-conformant values. (If readr is used to read in the data, things like invalid dates get removed automatically and so daiquiri cannot then report on them)
- ml05: Would it run faster if you make the example raw_data smaller, like 1/4 or 1/10 of the size it has now?
No, reducing the size of the data won't make a difference as the thing that takes all the time is the knitting of the rmarkdown report which I can't make any faster.
Thanks again, Phuong
@ropensci-review-bot seeking reviewers
@ropensci-review-bot assign @brad-cannell as reviewer
@brad-cannell added to the reviewers list. Review due date is 2022-07-27. Thanks @brad-cannell for accepting to review! Please refer to our reviewer guide.
@brad-cannell: If you haven't done so, please fill this form for us to update our reviewers records.
Hi @maurolepore, I've noticed that the label is still showing as 1/editor-checks when it should be 2/seeking-reviewers. I imagine something went wrong with the bot? I just wanted to raise it in case it makes a difference in moving the process along.
Thanks, Phuong
Thanks! You're right. I just changed the label manually.
FYI I'm still in search of the second reviewer. Sometimes it's quick; sometimes it's not so quick. Once we reach out to someone we give them a few days to respond before we move to someone else.
I really appreciate the request to review, and I'd love to do so on this tool too. Unfortunately, Apple (where I work) is pretty strict about open source contributions, so it could be months before I get approval to do so. Your timeline may benefit finding another reviewer.
:calendar: @brad-cannell you have 2 days left before the due date for your review (2022-07-27).
@ropensci-review-bot assign @elinw as reviewer
@elinw added to the reviewers list. Review due date is 2022-08-17. Thanks @elinw 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.
@elinw: If you haven't done so, please fill this form for us to update our reviewers records.
@phuongquan I'm happy we now have two amazing reviewers! Looking forwards to their feedback.
Please check off boxes as applicable, and elaborate in comments below. Your review is not limited to these topics, as described in the reviewer guide
The package includes all the following forms of documentation:
URL
, BugReports
and Maintainer
(which may be autogenerated via Authors@R
).Estimated hours spent reviewing: 3
Thank you for the opportunity to review this package. It looks really cool! I don't personally use time series data that often, but I can see how this package would be useful if I did. I have a couple of comments below that I hope will be helpful to the authors.
The 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
Vignette. I appreciated the details in the vignette!
I didn't see instructions for contributing anywhere on the README. I apologize if I just overlooked them.
All of the examples shown on README ran without issues on my local machine.
:calendar: @elinw you have 2 days left before the due date for your review (2022-08-17).
Dear @elinw, just a friendly reminder about your submission. How is it going?
Dear @phuongquan, Sorry for the delay. I'm struggling to reach @elinw.
Dear @phuongquan,
I discussed with the editors board and I think it would be best to either a) find a new reviewer or b) review the the package myself. Which one do you prefer?
My review would be faster and I have substantial experience building packages in general. But an external reviewer has greater potential for noticing details specific to your field, and thus enriching your package in a conceptually useful way.
It's very rare for @elinw to be unresponsive, so likely there is a good reason for it, and seems best to release the pressure from her.
Date accepted: 2022-10-25
Submitting Author Name: T. Phuong Quan Submitting Author Github Handle: !--author1-->@phuongquan<!--end-author1-- 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: !--editor-->@maurolepore<!--end-editor-- Reviewers: @brad-cannell, @elinw
Due date for @brad-cannell: 2022-07-27 Due date for @elinw: 2022-08-17Archive: 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
https://github.com/ropensci/software-review/issues/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
[x] 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
- [ ] The package is novel and will be of interest to the broad readership of the journal. - [ ] The manuscript describing the package is no longer than 3000 words. - [ ] You intend to archive the code for the package in a long-term repository which meets the requirements of the journal (see [MEE's Policy on Publishing Code](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/journal-resources/policy-on-publishing-code.html)) - (*Scope: Do consider MEE's [Aims and Scope](http://besjournals.onlinelibrary.wiley.com/hub/journal/10.1111/(ISSN)2041-210X/aims-and-scope/read-full-aims-and-scope.html) for your manuscript. We make no guarantee that your manuscript will be within MEE scope.*) - (*Although not required, we strongly recommend having a full manuscript prepared when you submit here.*) - (*Please do not submit your package separately to Methods in Ecology and Evolution*)Code of conduct