Joss-reviews: [REVIEW]: hal9001: Scalable highly adaptive lasso regression in R

Created on 27 Jul 2020  ยท  69Comments  ยท  Source: openjournals/joss-reviews

Submitting author: @nhejazi (Nima Hejazi)
Repository: https://github.com/tlverse/hal9001
Version: v0.2.7
Editor: @mikldk
Reviewer: @daviddewhurst, @rrrlw
Archive: 10.5281/zenodo.4050561

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

Status

status

Status badge code:

HTML: <a href="https://joss.theoj.org/papers/774ab382e8102bc9b982c02828116a1a"><img src="https://joss.theoj.org/papers/774ab382e8102bc9b982c02828116a1a/status.svg"></a>
Markdown: [![status](https://joss.theoj.org/papers/774ab382e8102bc9b982c02828116a1a/status.svg)](https://joss.theoj.org/papers/774ab382e8102bc9b982c02828116a1a)

Reviewers and authors:

Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) by leaving comments in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)

Reviewer instructions & questions

@daviddewhurst & @rrrlw, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:

  1. Make sure you're logged in to your GitHub account
  2. Be sure to accept the invite at this URL: https://github.com/openjournals/joss-reviews/invitations

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @mikldk know.

โœจ Please start on your review when you are able, and be sure to complete your review in the next six weeks, at the very latest โœจ

Review checklist for @daviddewhurst

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@nhejazi) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?

Review checklist for @rrrlw

Conflict of interest

  • [x] I confirm that I have read the JOSS conflict of interest (COI) policy and that: I have no COIs with reviewing this work or that any perceived COIs have been waived by JOSS for the purpose of this review.

Code of Conduct

General checks

  • [x] Repository: Is the source code for this software available at the repository url?
  • [x] License: Does the repository contain a plain-text LICENSE file with the contents of an OSI approved software license?
  • [x] Contribution and authorship: Has the submitting author (@nhejazi) made major contributions to the software? Does the full list of paper authors seem appropriate and complete?
  • [x] Substantial scholarly effort: Does this submission meet the scope eligibility described in the JOSS guidelines

Functionality

  • [x] Installation: Does installation proceed as outlined in the documentation?
  • [x] Functionality: Have the functional claims of the software been confirmed?
  • [x] Performance: If there are any performance claims of the software, have they been confirmed? (If there are no claims, please check off this item.)

Documentation

  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] Installation instructions: Is there a clearly-stated list of dependencies? Ideally these should be handled with an automated package management solution.
  • [x] Example usage: Do the authors include examples of how to use the software (ideally to solve real-world analysis problems).
  • [x] Functionality documentation: Is the core functionality of the software documented to a satisfactory level (e.g., API method documentation)?
  • [x] Automated tests: Are there automated tests or manual steps described so that the functionality of the software can be verified?
  • [x] Community guidelines: Are there clear guidelines for third parties wishing to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support

Software paper

  • [x] Summary: Has a clear description of the high-level functionality and purpose of the software for a diverse, non-specialist audience been provided?
  • [x] A statement of need: Do the authors clearly state what problems the software is designed to solve and who the target audience is?
  • [x] State of the field: Do the authors describe how this software compares to other commonly-used packages?
  • [x] Quality of writing: Is the paper well written (i.e., it does not require editing for structure, language, or writing quality)?
  • [x] References: Is the list of references complete, and is everything cited appropriately that should be cited (e.g., papers, datasets, software)? Do references in the text use the proper citation syntax?
Makefile R TeX accepted published recommend-accept review

Most helpful comment

@daviddewhurst, @rrrlw - many thanks for your reviews here and to @mikldk for editing this submission โœจ

@nhejazi - your paper is now accepted into JOSS :zap::rocket::boom:

All 69 comments

Hello human, I'm @whedon, a robot that can help you with some common editorial tasks. @daviddewhurst, @rrrlw it looks like you're currently assigned to review this paper :tada:.

:warning: JOSS reduced service mode :warning:

Due to the challenges of the COVID-19 pandemic, JOSS is currently operating in a "reduced service mode". You can read more about what that means in our blog post.

:star: Important :star:

If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews ๐Ÿ˜ฟ

To fix this do the following two things:

  1. Set yourself as 'Not watching' https://github.com/openjournals/joss-reviews:

watching

  1. You may also like to change your default settings for this watching repositories in your GitHub profile here: https://github.com/settings/notifications

notifications

For a list of things I can do to help you, just type:

@whedon commands

For example, to regenerate the paper pdf after making changes in the paper's md or bib files, type:

@whedon generate pdf

@whedon check references

Reference check summary:

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK

MISSING DOIs

- https://doi.org/10.1111/j.1541-0420.2005.00377.x may be missing for title: Doubly robust estimation in missing data and causal inference models
- https://doi.org/10.1524/stnd.2006.24.3.351 may be missing for title: Oracle inequalities for multi-fold cross validation

INVALID DOIs

- None
Reference check summary:

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK

MISSING DOIs

- https://doi.org/10.1111/j.1541-0420.2005.00377.x may be missing for title: Doubly robust estimation in missing data and causal inference models
- https://doi.org/10.1524/stnd.2006.24.3.351 may be missing for title: Oracle inequalities for multi-fold cross validation

INVALID DOIs

- None

@daviddewhurst, @rrrlw: Thanks for agreeing to review. Please carry out your review in this issue by updating the checklist above and giving feedback in this issue. The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. If possible create issues (and cross-reference) in the submission's repository to avoid too specific discussions in this review thread.

If you have any questions or concerns please let me know.

@daviddewhurst, please let me or @nhejazi know if there's anything we can do. (This is not meant as a "please hurry", merely as a friendly comment that we are here to help if you need anything.)

@daviddewhurst, can you please let me know how your review is progressing?

@mikldk I've been completing it and not updating the above page. It'll be finished on Friday.

See completed review (except for two bullet point) and corresponding two issues on repo.

@nhejazi: What is the status of the opened issues related to this review?
@daviddewhurst, @rrrlw: What is the status of your reviews?

This is not to rush you, merely to give me an impression of the progress and time-frame.

Thanks for checking in @mikldk. https://github.com/tlverse/hal9001/pull/71 contains all changes related to the issues brought to my attention. The only outstanding issue afaik is https://github.com/tlverse/hal9001/issues/69, which recommends a few real data analysis examples. I don't have any prepared offhand, so I may ask that this be deferred as something we should add in the future rather than for the JOSS review (any input from @daviddewhurst also welcome on this). I think it's a good suggestion but, in the meantime, we could, e.g., point to data analysis sections of existing academic manuscripts.

@nhejazi I think it would be a great idea to refer to a few places where HAL is used - both in paper.md and in the help pages of the software.

Apologies for the delay with this review - overall, this looks like a solid submission. The (minor) issues that I opened were addressed and closed. I think this will be a useful addition to the JOSS literature. I have left the "Examples" box unchecked until it's addressed (looks like pointing to data analysis sections of existing manuscripts (ideally ones that have the source code available?) in paper.md and in the help pages will work).

As such, once the "Examples" box is addressed, I feel comfortable recommending this package + manuscript be accepted to JOSS.

I do have an optional suggestion on how the package could be improved - a vignette on using it with tidymodels. Although not everyone subscribes to the tidymodels way of doing things, its use has grown over time and it might be worth adding an example or two showing how tidymodels users could take advantage of hal9001. Other than that, I think this is a solid package, as is evidenced by its use in multiple academic manuscripts. Thank you to the authors for this valuable contribution!

Thanks @mikldk and @rrrlw, I'll add a few references in an _Applications_ section of the paper draft and add code from one such project that I was involved in. This will cover how to use HAL in constructing a popular inverse probability weighted estimator that is prominent in the causal inference literature. I'll ping here again when that's done so that we can discuss any lingering details to finish up the review.

@rrrlw, thanks for noting a possible tidymodels integration. I like this idea and have some plans to modularize hal9001 (in a subsequent major release). If you don't mind opening up an issue about this, I'll keep track of it there and try to make these changes at the same time.

I've just added an _Applications_ section to the JOSS paper draft (https://github.com/tlverse/hal9001/pull/71/commits/640e773b4e5e326f854dbe2018bed757f504ec95), which briefly reviews and details the use of HAL regression in four very recent papers. I've tried to go through HAL was used in each paper and point out what advances were made by relying upon the hal9001 package. While this doesn't contribute code examples, my hope is that interested readers will be able to check out the code released with each of these papers (as such code becomes available) so that they can review how they might use HAL in their own work. Does this seem sufficient for the examples requirement?

@nhejazi sure, that's fine. I'll close the issue.

@mikldk This does it for me -- my review is complete.

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

@rrrlw is still missing a few check-marks -- what is the status of those?

The revisions look sufficient to me, just checked off the last 2 boxes. Will open a tidymodels issue shortly, but hal9001 is good to go on my end!

Great! I've merged the PR related to these changes into master. Could we update the version in the first comment on this issue thread to 0.2.7 (instead of 0.2.6)? (I don't have permissions to do that.) Also, the PDF built from master should match the updated version of the paper now; this wasn't the case before the relevant PR was merged last night.

@whedon set v0.2.7 as version

OK. v0.2.7 is the version.

@whedon check references

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK
- 10.1111/j.1541-0420.2005.00377.x is OK
- 10.1524/stnd.2006.24.3.351 is OK
- 10.1111/rssb.12362 is OK

MISSING DOIs

- 10.1111/biom.13121 may be a valid DOI for title: Robust inference on the average treatment effect using the outcome highly adaptive lasso
- 10.1111/biom.12679 may be a valid DOI for title: Outcome-adaptive lasso: Variable selection for causal inference

INVALID DOIs

- None

@rrrlw, @daviddewhurst: Thank you for your reviews!

@nhejazi :

  • I changed version to v0.2.7
  • Please check above DOI problems
  • Please have a final read though of the paper, checking language etc.
  • Have a final check of the proofs with @whedon generate pdf
  • Please make a tagged release and archive (e.g. with Zenodo) as described here, and report the version number and archive DOI in this thread. Please verify that the archive deposit has the correct metadata (title and author list), or edit these if that is not the case.

Echoing @mikldk, thanks very much for the thorough reviews, @rrrlw and @daviddewhurst! Addressing the issues you raised significantly improved the hal9001 package and JOSS paper.

@mikldk, I've made minor touch-ups throughout the paper, created a new minor release (https://github.com/tlverse/hal9001/releases/tag/v0.2.7), and added the resultant release to Zenondo (DOI: https://doi.org/10.5281/zenodo.4037393).

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

PDF proof looks good to me

@whedon check references

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK
- 10.1111/j.1541-0420.2005.00377.x is OK
- 10.1524/stnd.2006.24.3.351 is OK
- 10.1111/biom.13121 is OK
- 10.1111/rssb.12362 is OK
- 10.1111/biom.12679 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon set 10.5281/zenodo.4037393 as archive

OK. 10.5281/zenodo.4037393 is the archive.

@nhejazi The title of the zenodo is not matching the paper's (title case). Please edit the title at Zenodo such that they are identical.

Thanks for catching this @mikldk. The title of the Zenodo archive has been fixed.

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

@nhejazi The author orders at Zenodo and in the paper do not match up.

Sorry about this @mikldk. This is an artifact of our using a different author ordering on the package than we do for the current paper. It's now been fixed for this particular Zenodo record.

@whedon check references

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK
- 10.1111/j.1541-0420.2005.00377.x is OK
- 10.1524/stnd.2006.24.3.351 is OK
- 10.1111/biom.13121 is OK
- 10.1111/rssb.12362 is OK
- 10.1111/biom.12679 is OK

MISSING DOIs

- 10.1111/biom.13375 may be a valid DOI for title: Efficient nonparametric inference on the effects of stochastic interventions under two-phase sampling, with applications to vaccine efficacy trials

INVALID DOIs

- None

@daviddewhurst, @rrrlw Thank you very much for your effort in reviewing this paper!

@whedon accept

Attempting dry run of processing paper acceptance...

:wave: @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/1756

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1756, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.
@whedon accept deposit=true

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK
- 10.1111/j.1541-0420.2005.00377.x is OK
- 10.1524/stnd.2006.24.3.351 is OK
- 10.1111/biom.13121 is OK
- 10.1111/rssb.12362 is OK
- 10.1111/biom.12679 is OK

MISSING DOIs

- 10.1111/biom.13375 may be a valid DOI for title: Efficient nonparametric inference on the effects of stochastic interventions under two-phase sampling, with applications to vaccine efficacy trials

INVALID DOIs

- None

Hi @mikldk, I can address the missing DOI 10.1111/biom.13375 if necessary (the paper was _just accepted_ this week), but I don't think it would be a problem to accept as is, since the two submissions were ongoing concurrently. Happy to address this if it's an issue. Thanks for your work in curating/editing this JOSS submission.

@nhejazi If you have an updated DOI then please use that.

@mikldk Ok, I've fixed the missing DOI identified by whedon and finalized a new Zenodo release for this submission. That Zenodo archive has DOI 10.5281/zenodo.4050561. We should be all set to finalize.

@whedon check references

Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK
- 10.1111/j.1541-0420.2005.00377.x is OK
- 10.1524/stnd.2006.24.3.351 is OK
- 10.1111/biom.13121 is OK
- 10.1111/rssb.12362 is OK
- 10.1111/biom.13375 is OK
- 10.1111/biom.12679 is OK

MISSING DOIs

- None

INVALID DOIs

- None

@whedon generate pdf

:point_right::page_facing_up: Download article proof :page_facing_up: View article proof on GitHub :page_facing_up: :point_left:

Proof LGTM! I'm not sure I can run whedon accept myself so I'll just wait on that one.

@whedon set 10.5281/zenodo.4050561 as archive

OK. 10.5281/zenodo.4050561 is the archive.

@whedon accept

Attempting dry run of processing paper acceptance...
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1109/dsaa.2016.93 is OK
- 10.1515/ijb-2015-0097 is OK
- 10.1111/j.1541-0420.2005.00377.x is OK
- 10.1524/stnd.2006.24.3.351 is OK
- 10.1111/biom.13121 is OK
- 10.1111/rssb.12362 is OK
- 10.1111/biom.13375 is OK
- 10.1111/biom.12679 is OK

MISSING DOIs

- None

INVALID DOIs

- None

:wave: @openjournals/joss-eics, this paper is ready to be accepted and published.

Check final proof :point_right: https://github.com/openjournals/joss-papers/pull/1757

If the paper PDF and Crossref deposit XML look good in https://github.com/openjournals/joss-papers/pull/1757, then you can now move forward with accepting the submission by compiling again with the flag deposit=true e.g.
@whedon accept deposit=true

@whedon accept deposit=true

Doing it live! Attempting automated processing of paper acceptance...

๐Ÿฆ๐Ÿฆ๐Ÿฆ ๐Ÿ‘‰ Tweet for this paper ๐Ÿ‘ˆ ๐Ÿฆ๐Ÿฆ๐Ÿฆ

๐Ÿšจ๐Ÿšจ๐Ÿšจ THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! ๐Ÿšจ๐Ÿšจ๐Ÿšจ

Here's what you must now do:

  1. Check final PDF and Crossref metadata that was deposited :point_right: https://github.com/openjournals/joss-papers/pull/1758
  2. Wait a couple of minutes to verify that the paper DOI resolves https://doi.org/10.21105/joss.02526
  3. If everything looks good, then close this review issue.
  4. Party like you just published a paper! ๐ŸŽ‰๐ŸŒˆ๐Ÿฆ„๐Ÿ’ƒ๐Ÿ‘ป๐Ÿค˜

    Any issues? Notify your editorial technical team...

@daviddewhurst, @rrrlw - many thanks for your reviews here and to @mikldk for editing this submission โœจ

@nhejazi - your paper is now accepted into JOSS :zap::rocket::boom:

:tada::tada::tada: Congratulations on your paper acceptance! :tada::tada::tada:

If you would like to include a link to your paper from your README use the following code snippets:

Markdown:
[![DOI](https://joss.theoj.org/papers/10.21105/joss.02526/status.svg)](https://doi.org/10.21105/joss.02526)

HTML:
<a style="border-width:0" href="https://doi.org/10.21105/joss.02526">
  <img src="https://joss.theoj.org/papers/10.21105/joss.02526/status.svg" alt="DOI badge" >
</a>

reStructuredText:
.. image:: https://joss.theoj.org/papers/10.21105/joss.02526/status.svg
   :target: https://doi.org/10.21105/joss.02526

This is how it will look in your documentation:

DOI

We need your help!

Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:

Was this page helpful?
0 / 5 - 0 ratings