openjournals / joss-reviews

Reviews for the Journal of Open Source Software
Creative Commons Zero v1.0 Universal
721 stars 38 forks source link

[REVIEW]: The ppmData R-package for setting up spatial point process models #4771

Closed editorialbot closed 1 year ago

editorialbot commented 2 years ago

Submitting author: !--author-handle-->@skiptoniam<!--end-author-handle-- (Skipton Nicholas Charles Woolley) Repository: https://github.com/skiptoniam/ppmData Branch with paper.md (empty if default branch): joss_submission Version: v1.0.0 Editor: !--editor-->@elbeejay<!--end-editor-- Reviewers: @OwenWard, @mhesselbarth Archive: 10.5281/zenodo.7679406

Status

status

Status badge code:

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

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

@OwenWard & @mhesselbarth, your review will be checklist based. Each of you will have a separate checklist that you should update when carrying out your review. First of all you need to run this command in a separate comment to create the checklist:

@editorialbot generate my checklist

The reviewer guidelines are available here: https://joss.readthedocs.io/en/latest/reviewer_guidelines.html. Any questions/concerns please let @elbeejay 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

Checklists

📝 Checklist for @mhesselbarth

📝 Checklist for @OwenWard

editorialbot commented 2 years ago

Hello humans, I'm @editorialbot, a robot that can help you with some common editorial tasks.

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

@editorialbot commands

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

@editorialbot generate pdf
editorialbot commented 2 years ago
Software report:

github.com/AlDanial/cloc v 1.88  T=0.06 s (551.2 files/s, 75741.1 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
R                               16            342            439           1141
C++                              4            166             27            698
XML                              1              0              2            441
TeX                              1             34              0            356
Markdown                         3             60              0            175
C/C++ Header                     2             44              0            126
YAML                             3             20              9             90
Rmd                              2             49            105             73
-------------------------------------------------------------------------------
SUM:                            32            715            582           3100
-------------------------------------------------------------------------------

gitinspector failed to run statistical information for the repository
editorialbot commented 2 years ago

Wordcount for paper.md is 2448

editorialbot commented 2 years ago

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

elbeejay commented 2 years ago

@OwenWard and @mhesselbarth instructions for completing your reviews are provided in the top comment of this issue. Please make specific comments pertaining to your review in the ppmData repository itself, and reference this overarching JOSS review issue with a hyperlink, to maintain some connectivity between this review issue and individual repository issues. Feel free to provide a summary of your review here, and please ask any questions that you have about the process in this issue.

I will be asking the bot to provide reminder messages in 4 weeks. Right now we are requesting that our reviewers complete their reviews in 6 weeks if possible; if you need more time please just comment here so that both myself and @skiptoniam are aware.

Thanks! Jay

elbeejay commented 2 years ago

@editorialbot remind @OwenWard in four weeks

editorialbot commented 2 years ago

Reminder set for @OwenWard in four weeks

elbeejay commented 2 years ago

@editorialbot remind @mhesselbarth in four weeks

editorialbot commented 2 years ago

Reminder set for @mhesselbarth in four weeks

editorialbot commented 2 years ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1890/10-1251.1 is OK
- 10.1111/1467-842X.00128 is OK
- 10.1890/07-2153.1 is OK
- 10.1111/2041-210X.12352 is OK
- 10.1111/2041-210X.12242 is OK
- 10.1111/j.2041-210X.2011.00141.x is OK
- 10.1371/journal.pone.0079168 is OK
- 10.1214/10-AOAS331 is OK
- 10.1111/j.1467-9876.2011.01023.x is OK
- 10.32614/RJ-2018-009 is OK
- 10.18637/jss.v033.i01 is OK

MISSING DOIs

- 10.1111/1365-2656.12071 may be a valid DOI for title: Advancing our thinking in presence-only and used-available analysis
- 10.1214/13-aoas667 may be a valid DOI for title: Finite-sample equivalence in statistical models for presence-only data
- 10.2307/2347614 may be a valid DOI for title: Approximating point process likelihoods with GLIM
- 10.1111/anzs.12337 may be a valid DOI for title: What is the effective sample size of a spatial point process?
- 10.1111/j.1467-9876.2009.00701.x may be a valid DOI for title: Geostatistical inference under preferential sampling
- 10.1111/j.1541-0420.2012.01824.x may be a valid DOI for title: Equivalence of MAXENT and Poisson point process models for species distribution modeling in ecology
- 10.1093/biomet/asv064 may be a valid DOI for title: Going off grid: Computationally efficient inference for log-Gaussian Cox processes
- 10.1002/env.2194 may be a valid DOI for title: Doubly balanced spatial sampling with spreading and restitution of auxiliary totals
- 10.1111/biom.12059 may be a valid DOI for title: BAS: Balanced acceptance sampling of natural resources
- 10.1016/j.spasta.2019.100392 may be a valid DOI for title: Bayesian model based spatiotemporal survey designs and partially observed log Gaussian Cox process
- 10.1111/2041-210x.12782 may be a valid DOI for title: Spatially balanced designs that incorporate legacy sites
- 10.1007/bf01386213 may be a valid DOI for title: On the efficiency of certain quasi-random sequences of points in evaluating multi-dimensional integrals
- 10.1007/bf02985802 may be a valid DOI for title: The elements of statistical learning: data mining, inference, and prediction

INVALID DOIs

- doi:10.1016/j.ecolmodel.2005.03.026 is INVALID (failed connection)
mhesselbarth commented 2 years ago

Review checklist for @mhesselbarth

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

mhesselbarth commented 2 years ago

I added a few first issues directly in the code repository regarding some general code structures. I will have a closer look at the manuscript within the next few days.

OwenWard commented 2 years ago

Review checklist for @OwenWard

Conflict of interest

Code of Conduct

General checks

Functionality

Documentation

Software paper

OwenWard commented 2 years ago

@mhesselbarth beat me to it with most of my initial comments. I would agree with all those issues, including the questions about the tests, external data, and the missing code of conduct, help file, license. Would it be possible to include a vignette going through the example with the snail data in a bit more detail? I think this would be useful for people who may be unfamiliar with these types of problems.

I would also suggest renaming the default branch from master to main.

mhesselbarth commented 2 years ago

Would it be possible to include a vignette going through the example with the snail data in a bit more detail? I think this would be useful for people who may be unfamiliar with these types of problems.

Is there any recommendations what to put into the README and into vignettes in general? I opened https://github.com/skiptoniam/ppmData/issues/26 related to this, but personally don't have any strong opinion if that should be in the README or an additionally vignette. But some more guidance would be great!

OwenWard commented 2 years ago

Is there any recommendations what to put into the README and into vignettes in general? I opened skiptoniam/ppmData#26 related to this, but personally don't have any strong opinion if that should be in the README or an additionally vignette. But some more guidance would be great!

For JOSS I don't think so, but https://r-pkgs.org/vignettes.html has some ideas about vignettes. My opinion would be that from the README you can tell if the package does what you want/need, and then if you are going to use it a vignette would give you the details to actually implement it.

I agree with the issue about the README, and would encourage (but not require) a vignette, so that it would hopefully lead to more people using the package.

elbeejay commented 2 years ago

For JOSS I don't think so, but https://r-pkgs.org/vignettes.html has some ideas about vignettes.

This is correct, as JOSS covers a wide array of programming languages we do not provide guidance on language-specific forms of documentation such as vignettes. Even for README files we provide only minimal suggestions as these can vary based on the language and community. Suggestions above are all appropriate as far as I can tell.

editorialbot commented 2 years ago

:wave: @OwenWard, please update us on how your review is going (this is an automated reminder).

editorialbot commented 2 years ago

:wave: @mhesselbarth, please update us on how your review is going (this is an automated reminder).

mhesselbarth commented 2 years ago

I still have to review the manuscript and go through the code in more detail, but its on my list for the end of this week!

OwenWard commented 2 years ago

@elbeejay It seems like there have been some recent updates on the JOSS branch for this repo, so maybe it would make sense for @mhesselbarth and I to wait until an update that they have been completed before we finish the review? They seem to be addressing some of the previously mentioned comments.

elbeejay commented 2 years ago

@OwenWard that definitely makes sense. @skiptoniam why don't you complete the changes you are working on and ping all of us (@OwenWard, @mhesselbarth, and @elbeejay) once you are ready for us to complete the review.

skiptoniam commented 2 years ago

@elbeejay @mhesselbarth @OwenWard cool. I probably won't get to this until next week or the week after. But happy to do that.

mhesselbarth commented 2 years ago

Some comments considering the manuscript. Overall its written very well and does a good job explaining the package and method. Just some minor suggestions and comments:

mhesselbarth commented 2 years ago

I will wait for @skiptoniam dealing with the open issues (which should tick most of the open boxes in the checklist) before I continue with my last round of reviews of the actual code and functionality.

OwenWard commented 2 years ago

Just wanted to follow up also with a bit more detail on my comments. I don't think there is any large enough for an issue which @mhesselbarth hasn't already covered but I'll list my comments again. These include the current updates in the joss_submission branch.

Otherwise, when all these points are addressed I'd like to take another quick look at the code.

elbeejay commented 1 year ago

@skiptoniam I wanted to follow up here and ask: how are the revisions coming along?

skiptoniam commented 1 year ago

@elbeejay I've started them. I hope to have them finished by next week. I hope that is ok.

elbeejay commented 1 year ago

Sounds good @skiptoniam, had just been poking around the repository and didn't see any recent activity so I was getting worried.

elbeejay commented 1 year ago

@skiptoniam just wanted to check-in here and find out how the revisions are going. It looks like you've made a number of commits to the joss_submission branch so that is encouraging. Do you have a revised timeline for when you think you'll be ready to ask our reviewers to have another look?

skiptoniam commented 1 year ago

@elbeejay I'm hoping to finish up the tests and a few other things, before cleaning up the manuscript, hopefully I'll be done by the end of this week.

skiptoniam commented 1 year ago

@elbeejay please see the below revisions:

First of all, I would like to thank the reviewers for their thoughtful comments. I have tried to address all their concerns and really appreciate their helpful suggestions.

Responses to @mhesselbarth

I tried to respond to all our open issues for the ppmData package. I have closed them all, but please feel free to open them again or create others if you think more needs to be done here.

Some comments considering the manuscript. Overall its written very well and does a good job explaining the package and method. Just some minor suggestions and comments: Line 8/9: This is an appropriate statistical approach only if locations can be meaningful described by points (e.g., as for plants, nests). I have fixed this line and added in a brief example of point pattern data.

Line 13/14: This is one common driver, but also other processes can be more important for the pattern (e.g., competition, neutral theory, etc.). Thus, I would suggest to reword using e.g., “such as”, “for example”, “besides others”. Thanks, that is true. I have added “for example” to make it clear that other factors can determine the observed locations.

Line 15: I would suggest to use locations instead of sightings to be concise. Done.

Line 16: Maybe add one more sentence to the previous section to better link habitat conditions to inhomogeneous poisson process models. That should help the reader better to connect the two. Added a little bit on environmental conditions.

Line 17-19: I think there is a "that" missing in the sentence. Thanks. Fixed.

Line 36-42: Please reword and state only what the package is intended and capable of doing now. Personally, I think the initial intention part is a bit confusing. Also, as far as I understand it, the package can be used for any qualitative marks and not just species. Thus, I would reword the sentence and using species as one example of qualitative marks. I think I have reworded this to be more to the point.

Line 66: I understand why the Statement of Need is introduced so late because the reader needs some background about the point processes first. However, I think it might also make sense to move this part up, or at least refer to it earlier in the introduction. But if you decided to keep the structure as it is right now that would be also fine for me. We have decided to leave it in this format, as we need to explain what an inhomogeneous point process is before we get into the nitty gritty of estimation.

Line 95-99: Please add some information on what kind of computer/laptop this benchmark is based on (number of cores, RAM, operating system, etc.). Done.

Line 107-109: As also mentioned in Methods to convert from and to spatstat skiptoniam/ppmData#24. I would strongly suggest to add conversion methods for spatstat objects or at least explain somewhere in the Vignettes how to convert between spatstat and terra/sf given how popular the spatstat package is. I have added a section in vignette that converts a ppmData object to quadrature that can be fitted in spatstat. See lines 182-213 of vignette

Line 140/141: This sentence could use some more explanation. Why is the step required? I have added the reason in the parentheses, packages like spatstat do this step internally.

Responses to @OwenWard

Can you provide a reference for the external data? It might be easier to just include it in the package directly? then it would get a help file, etc I have included documentation for external data

There isn’t an appropriate license for JOSS included Fixed this.

The tests which are included don’t currently test any of the methods of the package. Fixed this.

There should be a section detailing how to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support _I have included this at the bottom of readme_

Given that the statement of need for this paper emphasizes the computational benefits, I think an experiment demonstrating the speedup should be included in the JOSS paper, even commented out, so that readers can confirm it for themselves. I think you could also demonstrate this in the Readme. I have added this to the readme.

I'm not sure of the role of the file package.R? It also seems to be somehow linked to the documentation and comes up when you run ?ppmData I have updated the package.R file. It now has more detail on the package. This was also one of @mhesselbarth issues

There are some small typos in the ReadMe in the JOSS branch In the summary, “Quasi random sampling quadrature are form” and “thus reducing low errors” Fixed.

In the example the text mentions red points which are now green Fixed.

Also some small typos in the paper on top of those mentioned previously, nothing much Page 3 line 77, extra “is” Fixed. Thanks.

Page 4 line 111-112 maybe missing “is”? Fixed.

Page 5 line 130 using “the” glm function maybe? Fixed.

The second reference in the bibliography has some missing latex Fixed, thanks.

elbeejay commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

elbeejay commented 1 year ago

@editorialbot check references

editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1890/10-1251.1 is OK
- 10.1111/1467-842X.00128 is OK
- 10.1890/07-2153.1 is OK
- 10.1111/2041-210X.12352 is OK
- 10.1111/2041-210X.12242 is OK
- 10.1111/j.2041-210X.2011.00141.x is OK
- 10.1371/journal.pone.0079168 is OK
- 10.1214/10-AOAS331 is OK
- 10.1111/j.1467-9876.2011.01023.x is OK
- 10.32614/RJ-2018-009 is OK
- 10.18637/jss.v033.i01 is OK

MISSING DOIs

- 10.1111/1365-2656.12071 may be a valid DOI for title: Advancing our thinking in presence-only and used-available analysis
- 10.1214/13-aoas667 may be a valid DOI for title: Finite-sample equivalence in statistical models for presence-only data
- 10.2307/2347614 may be a valid DOI for title: Approximating point process likelihoods with GLIM
- 10.1111/anzs.12337 may be a valid DOI for title: What is the effective sample size of a spatial point process?
- 10.1111/j.1467-9876.2009.00701.x may be a valid DOI for title: Geostatistical inference under preferential sampling
- Errored finding suggestions for "Equivalence of MAXENT and Poisson point process mo...", please try later
- 10.1093/biomet/asv064 may be a valid DOI for title: Going off grid: Computationally efficient inference for log-Gaussian Cox processes
- 10.1002/env.2194 may be a valid DOI for title: Doubly balanced spatial sampling with spreading and restitution of auxiliary totals
- 10.1111/biom.12059 may be a valid DOI for title: BAS: Balanced acceptance sampling of natural resources
- 10.1016/j.spasta.2019.100392 may be a valid DOI for title: Bayesian model based spatiotemporal survey designs and partially observed log Gaussian Cox process
- 10.1111/2041-210x.12782 may be a valid DOI for title: Spatially balanced designs that incorporate legacy sites
- 10.1007/bf01386213 may be a valid DOI for title: On the efficiency of certain quasi-random sequences of points in evaluating multi-dimensional integrals
- 10.1007/bf02985802 may be a valid DOI for title: The elements of statistical learning: data mining, inference, and prediction

INVALID DOIs

- doi:10.1016/j.ecolmodel.2005.03.026 is INVALID (failed connection)
elbeejay commented 1 year ago

@skiptoniam I do not see where this comment from @OwenWard was addressed:

There should be a section detailing how to 1) Contribute to the software 2) Report issues or problems with the software 3) Seek support I have included this at the bottom of readme

I recall having a similar situation during the pre-review phase where some portions of the text I'd flagged were supposed to have been revised, but when I checked they actually were not. I'd like to ask that you double-check all of the files currently on the joss_submission branch, to make sure that they reflect the latest revisions and are consistent with the review responses, maybe this is an issue of git branches being out of sync (local v remote).

Additionally, please see the above bot comment which has flagged missing and invalid DOIs, and please correct them as necessary. When that is complete, you can have the bot regenerate both the PDF and the check of the references using the same commands I used above. The bot will automatically refer to the files in the joss_submission branch.

Please ping us once those things have been completed, at that point I suspect it will be appropriate to ask our kind reviewers to have another look at this submission when they are able.

Thanks!

skiptoniam commented 1 year ago

@elbeejay apologies again, that was an oversight by me. I thought the contribution section would cover those points. I have updated the readme to cover those points. I have also updated the DOIs.

skiptoniam commented 1 year ago

@editorialbot generate pdf

editorialbot commented 1 year ago

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

skiptoniam commented 1 year ago

@editorialbot check references

editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1890/10-1251.1 is OK
- 10.1111/1467-842X.00128 is OK
- 10.1016/j.ecolmodel.2005.03.026 is OK
- 10.1890/07-2153.1 is OK
- 10.1111/1365-2656.12071 is OK
- 10.1111/2041-210X.12352 is OK
- 10.1214/13-aoas667 is OK
- 10.1111/2041-210X.12242 is OK
- 10.1111/j.2041-210X.2011.00141.x is OK
- 10.1371/journal.pone.0079168 is OK
- 10.1214/10-AOAS331 is OK
- 10.1111/j.1467-9876.2011.01023.x is OK
- 10.2307/2347614 is OK
- 10.1111/anzs.12337 is OK
- 10.1111/j.1467-9876.2009.00701.x is OK
- 10.1093/biomet/asv064 is OK
- 10.1002/env.2194 is OK
- 10.1111/biom.12059 is OK
- 10.1016/j.spasta.2019.100392 is OK
- 10.1111/2041-210x.12782 is OK
- 10.1007/bf01386213 is OK
- 10.32614/RJ-2018-009 is OK
- 10.18637/jss.v033.i01 is OK
- 10.1007/bf02985802 is OK

MISSING DOIs

- None

INVALID DOIs

- 10.1111/j.1541-0420.2012.01824.x. is INVALID
skiptoniam commented 1 year ago

@editorialbot check references

editorialbot commented 1 year ago
Reference check summary (note 'MISSING' DOIs are suggestions that need verification):

OK DOIs

- 10.1890/10-1251.1 is OK
- 10.1111/1467-842X.00128 is OK
- 10.1016/j.ecolmodel.2005.03.026 is OK
- 10.1890/07-2153.1 is OK
- 10.1111/1365-2656.12071 is OK
- 10.1111/2041-210X.12352 is OK
- 10.1214/13-aoas667 is OK
- 10.1111/2041-210X.12242 is OK
- 10.1111/j.2041-210X.2011.00141.x is OK
- 10.1371/journal.pone.0079168 is OK
- 10.1214/10-AOAS331 is OK
- 10.1111/j.1467-9876.2011.01023.x is OK
- 10.2307/2347614 is OK
- 10.1111/anzs.12337 is OK
- 10.1111/j.1467-9876.2009.00701.x is OK
- 10.1111/j.1541-0420.2012.01824.x is OK
- 10.1093/biomet/asv064 is OK
- 10.1002/env.2194 is OK
- 10.1111/biom.12059 is OK
- 10.1016/j.spasta.2019.100392 is OK
- 10.1111/2041-210x.12782 is OK
- 10.1007/bf01386213 is OK
- 10.32614/RJ-2018-009 is OK
- 10.18637/jss.v033.i01 is OK
- 10.1007/bf02985802 is OK

MISSING DOIs

- None

INVALID DOIs

- None
elbeejay commented 1 year ago

@elbeejay apologies again, that was an oversight by me. I thought the contribution section would cover those points. I have updated the readme to cover those points. I have also updated the DOIs.

@skiptoniam thanks for updating the DOIs. As far as a contribution section goes, and I apologize if I am seeming dense, but I still do not see instructions or guidelines on how to contribute to the project. A contributors code of conduct is different from providing any guidance on how one can make a contribution.

skiptoniam commented 1 year ago

Sorry @elbeejay, it was I whom was being dense! Completely confused myself with the code of conduct and contributing sections. Should be fixed now.

elbeejay commented 1 year ago

Thanks @skiptoniam.

@mhesselbarth and @OwenWard it looks like @skiptoniam has worked to address your comments. I'd like to ask that you finish your reviews when you are able - maybe we aim for the end of January? Let me know if that is not going to be possible and we can work to set a reasonable timeline. Thank you again for reviewing for JOSS. Please ping me with any questions about the review process.

mhesselbarth commented 1 year ago

End of January sounds doable for me 👍

OwenWard commented 1 year ago

And for me.

elbeejay commented 1 year ago

@mhesselbarth and @OwenWard just wanted to remind you about this review as we're inching closer to the end of the month and I don't want this item to fall off of calendars.