Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
submission: spatsoc #237
(also mirrored to https://github.com/robitalec/spatsoc)
data munging and geospatial - because it manipulates a specific type of spatial data (GPS relocations) to assist social network analysis
There are no other R packages for creating social networks from GPS relocations. Other R packages exist for social network analysis, notably
Confirm each of the following by checking the box. This package:
There are no NOTEs, WARNINGs, or ERRORs.
@robitalec et al. Thanks for your submission. I will be editing this submission.
Local R CMD check looks fine.
There are 3 warnings and 1 note reported by R CMD check on your CI service (e.g., the most recent job). Please fix the WARNINGs, and the NOTE if possible, before the review begins.
There are several misspellings reported by
Good work on the test coverage.
This appears to be coming from a full import of the data.table package. Can you import only specific functions from that package?
I have begun soliciting reviewers and will let you all know when the review begins.
I've fixed the misspellings. There are some leftovers detected by
We're importing the full data.table package because we use fread and data.table syntax in the tests and throughout the package's functions. It also does not have any of its own dependencies.
I fixed the NOTEs and WARNINGs in the ci. I also added an r-devel image so we are testing on both the latest release and development version of R. Here is the latest pipeline.
@robitalec Here's my review. If there's something you feel like correcting please let me know. There's still quite some stuff to go through but for now I think that it's better to start from what I mention below and to go from there.
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:
Final approval (post-review)
Estimated hours spent reviewing:
It would be interesting to have a
Same goes for the possibility of running a
In the vignettes you start by importing the
I would also recommend to create a function which imports data automatically. It's just two lines of code, but it might make the difference for unexperienced users. If I'm not aware that I have to use the data.table format, or even to convert the dates to a
Running the function with minutes goes well, but with hours and days gives me a warning.
As for days I get the following warnings:
You're going on the right path, but there're some changes to be made. If there's something you don't agree with or something I've missed please let me know. As soon as you fix those issues or in case I'm wrong, explain what I'm missing, I'll proceed with the rest of the review.
Thank you @FilipeamTeixeira.
In response to just the tests for now:
Just hoping to reproduce them locally so I can fix them!
I will update you as I work through the rest of your comments.
I just released our FAQ vignette (available here and here).
In addition, I changed some of the warnings to messages. I think I was using warnings everywhere, where in some cases, messages are preferred.
I added a
I will keep you posted as I continue to improve
Dear @robitalec, first of all thank you for your work on this. Regarding the tests indeed they were ran with devtools::test() which uses the package testthat. I'm using macOS Sierra 10.12.6 but the test results don't seem to be OS dependant.
Regarding the vignettes and the FAQs, thank you for adding it. Unfortunately I still can't get the vignettes by typing
As for the warnings vs messages, or even the content of the help files, I recommend you to go through what I wrote before and if there's something that wasn't clear enough please let me know as I can explain better why I found the messages and the instructions not clear enough. However, to summarise it, my comments were mainly related to the lack of information on the output we get when using your package. I believe that a strong package shouldn't be exclusively for experts, but for anyone who might have to use it. Ask someone who never used the package to do something with it, and ask them about their interpretation on the results.
Nevertheless, I'll wait as well for the other reviewers to state their comments as well.
I'll keep on going through your package and I'll let you know something as soon as possible.
@FilipeamTeixeira I've updated the README/website with a better install line:
I didn't realize, but
Thanks for getting back to me concerning OS/test environment. I wonder if it isn't a timezone or locale issue... because they all appear to be related to
Lots of documentation improvements today, more to come!
Were you able to see the vignettes with the updated install line?
Some of the changes were previously mentioned, as I completed them, but here is a full list of all changes since your initial review:
One thing I recognize is missing right now is how
As for the problems you initially reported with the tests, I still haven't been able to reproduce them locally (with Mac/Windows/Linux/CI/CRAN tests, I get 0 errors/warnings/notes)... I'm not sure how to address these problems.
Thank you @pmnatural for your review.
First off, a question: what is missing for the Community guidelines?
Thank you @pmnatural. This review process has helped us highlight weak points in the documentation and functions and I'm glad to be moving forward with a better version of the package.
I won't repeat all points from my response to @FilipeamTeixeira about the potential import function, please see above.
In the case of
In the case of
Separate from an import function, this type of summary information should be straightforward to glean from the input data using the follow lines of code.
# Number of unique individuals DT[, uniqueN(ID)] # Number of unique individuals by group DT[, uniqueN(ID), by = group]
Here is an example of evaluating the temporal range of the data but we'd like to emphasize that the selection of a temporal threshold should have more to do about the biology of the study species, system and hypotheses of the user.
Similar to temporal threshold, the distance threshold should be linked to the specific system and species.
# All individuals DT[, .(minX = min(X), maxX = max(X), minY = min(Y), maxY = max(Y),)] # By individual DT[, .(minX = min(X), maxX = max(X), minY = min(Y), maxY = max(Y),), by = ID]
Ok, good to know concerning community guidelines.
I have added the summary information code chunks to the FAQ. I think this section will grow as we come up with more information that might be useful to help users understand their input data for functions provided by
I think this is a good example of how to select spatial distance thresholds for functions in
from: Leu et al., 2010
Should you want to acknowledge your reviewers in your package DESCRIPTION, you can do so by making them
Welcome aboard! We'd also love a blog post about your package, either a short-form intro to it (https://ropensci.org/tech-notes/) or long-form post with more narrative about its development. (https://ropensci.org/blog/). If you are interested, @stefaniebutland will be in touch about content and timing.
We've started putting together a gitbook with our best practice and tips, this chapter starts the 3d section that's about guidance for after onboarding. Please tell us what could be improved, the corresponding repo is here.
Thank you @lmullen, I really appreciate your efforts as an editor during this process.
We'd definitely be interested in a blog post.
I noticed I can't access the settings tab... do I have full access to the repository?
This is great to hear @robitalec.
Here are some technical and editorial guidelines for contributing a blog post: https://github.com/ropensci/roweb2#contributing-a-blog-post. We ask that you submit your draft post via pull request a week before the planned publication date so we can give you some feedback.
Happy to answer any questions.
@robitalec Neat outcome of your package & post. I just spoke with a colleague, Stephanie O'Donnell, who is the Community Manager for https://www.wildlabs.net/ (https://twitter.com/wildlabsnet) and noticed their webinar next week has Sarah Davidson, Data Curator at Movebank as a speaker: https://www.wildlabs.net/resources/community-announcements/wildlabs-virtual-meetup-event-big-data-conservation-dec-12th
I told Steph about your package and blog post and she would like to re-post it with permission of you and co-authors (she will link back to rOpenSci version as well). She is a trusted peer and I'm quite impressed with the way she handles WILDLABS community. Maybe this would get even more eyes on your work. Let me know what you think.
Apparently their webinars have quite active 45min discussions after speakers so worth attending if it looks to be of interest to you.
@stefaniebutland That would be really cool and we are glad to have the package spread through another community. None of us had heard of WildLabs and this webinar seems really interesting. We'll be checking it out for sure. Thank you!