Giter Site home page Giter Site logo

ropensci / rcites Goto Github PK

View Code? Open in Web Editor NEW
12.0 7.0 6.0 4.86 MB

:package: R package to access the CITES Speciesplus database

Home Page: https://docs.ropensci.org/rcites

License: Other

R 94.83% TeX 5.17%
cites api-client trade endangered-species r-package database r rstats

rcites's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

rcites's Issues

Add parameters to spp_taxonconcept

Hi @KevCaz, depending on how you are going with adaptions to spp_taxonconcept, we could further consider to add more parameters to the function. The API provides quite a few, but for the start I would think with_descendants and again language could be quite handy ones. right now the function is based on name only.

bildschirmfoto 2018-08-26 um 10 44 40

Installation on covr failed in Travis

From the console log https://travis-ci.org/ropensci/rcites/builds/586822947:

The downloaded source packages are in

	‘/tmp/RtmpCWTuuR/downloaded_packages’

Installing R packages from GitHub: r-lib/covr

0.67s$ Rscript -e 'remotes::install_github(c("r-lib/covr"))'

   File .Renviron contains invalid line(s)

      [secure]

   They were ignored

Error: Failed to install 'unknown package' from GitHub:

  cannot open URL 'https://api.github.com/repos/r-lib/covr/contents/DESCRIPTION?ref=master'

Execution halted

The command "Rscript -e 'remotes::install_github(c("r-lib/covr"))'" failed and exited with 1 during .

This may help r-lib/devtools#2020

spp_cites_legislation() fails to return clean output for some taxa

Session Info
Session info ───────────────────────────────────────────
 setting  value                       
 version  R version 3.6.0 (2019-04-26)
 os       macOS Mojave 10.14.6        
 system   x86_64, darwin15.6.0        
 ui       RStudio                     
 language (EN)                        
 collate  en_US.UTF-8                 
 ctype    en_US.UTF-8                 
 tz       America/New_York            
 date     2019-10-07Packages ───────────────────────────────────────────
 package     * version date       lib source                          
 assertthat    0.2.1   2019-03-21 [1] CRAN (R 3.6.0)                  
 backports     1.1.4   2019-04-10 [1] CRAN (R 3.6.0)                  
 callr         3.3.1   2019-07-18 [1] CRAN (R 3.6.0)                  
 cli           1.1.0   2019-03-19 [1] CRAN (R 3.6.0)                  
 crayon        1.3.4   2017-09-16 [1] CRAN (R 3.6.0)                  
 curl          4.2     2019-09-24 [1] CRAN (R 3.6.0)                  
 desc          1.2.0   2018-05-01 [1] CRAN (R 3.6.0)                  
 devtools      2.1.0   2019-07-06 [1] CRAN (R 3.6.0)                  
 digest        0.6.20  2019-07-04 [1] CRAN (R 3.6.0)                  
 fs            1.3.1   2019-05-06 [1] CRAN (R 3.6.0)                  
 glue          1.3.1   2019-03-12 [1] CRAN (R 3.6.0)                  
 magrittr      1.5     2014-11-22 [1] CRAN (R 3.6.0)                  
 memoise       1.1.0   2017-04-21 [1] CRAN (R 3.6.0)                  
 pkgbuild      1.0.3   2019-03-20 [1] CRAN (R 3.6.0)                  
 pkgload       1.0.2   2018-10-29 [1] CRAN (R 3.6.0)                  
 prettyunits   1.0.2   2015-07-13 [1] CRAN (R 3.6.0)                  
 processx      3.4.1   2019-07-18 [1] CRAN (R 3.6.0)                  
 ps            1.3.0   2018-12-21 [1] CRAN (R 3.6.0)                  
 R6            2.4.0   2019-02-14 [1] CRAN (R 3.6.0)                  
 rcites      * 1.0.1   2019-10-07 [1] Github (ropensci/rcites@85bead4)
 Rcpp          1.0.2   2019-07-25 [1] CRAN (R 3.6.0)                  
 remotes       2.1.0   2019-06-24 [1] CRAN (R 3.6.0)                  
 rlang         0.4.0   2019-06-25 [1] CRAN (R 3.6.0)                  
 rprojroot     1.3-2   2018-01-03 [1] CRAN (R 3.6.0)                  
 rstudioapi    0.10    2019-03-19 [1] CRAN (R 3.6.0)                  
 sessioninfo   1.1.1   2018-11-05 [1] CRAN (R 3.6.0)                  
 testthat      2.2.0   2019-07-22 [1] CRAN (R 3.6.0)                  
 usethis       1.5.1   2019-07-04 [1] CRAN (R 3.6.0)                  
 withr         2.1.2   2018-03-15 [1] CRAN (R 3.6.0)                  

[1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

It seems spp_cites_legislation() fails to return clean output with a list of three data frames if the user selects a taxon for which there is no CITES listing information. This problem may be related to #42 and appears to involve the coercion to the spp_cites_leg object class. Invoking the raw = TRUE option succeeds, however, and the resulting list just contains an empty slot for cites_listing. See my reproducible example:

library(rcites)

# Failure to return clean list of data frames if there is no CITES listing
res <- spp_cites_legislation(taxon_id = "8094", scope = "all")

# Successful return of list object with the raw data format
res_raw <- spp_cites_legislation(taxon_id = "8094", scope = "all", raw = TRUE)

# The "cites_listings" slot is there but empty
res_raw$cites_listings

.Rproj

After renaming the function prefixes, something still doesnt work. Double checked all files, so I guess there needs to be run something so the automatically created files get updated (roxygen?!).

Further, I notices that we have two .Rproj files. one older one citesr and the new rcites. can the old one be deleted? (for cleaning up purposes)

Infinite recursion error when using non-interactively without token

When running a command that makes an API call in a non-interactive R session, in the absence of an API key, rcites has an infinite recursion error where it enters an unescapable loop. For example:

library(rcites)
spp_taxonconcept(query_taxon = "Carcharodon carcharias")
#> 
#>     `SPECIESPLUS_TOKEN` env var has not been set yet.
#>     A token is required to use the species + API, see
#>     https://api.speciesplus.net/documentation
#> 
#> Enter your token without quotes:
#> no token provided
#> 
#>     `SPECIESPLUS_TOKEN` env var has not been set yet.
#>     A token is required to use the species + API, see
#>     https://api.speciesplus.net/documentation
#> 
#> Enter your token without quotes:
#> no token provided
#> 
#>     `SPECIESPLUS_TOKEN` env var has not been set yet.
#>     A token is required to use the species + API, see
#>     https://api.speciesplus.net/documentation
#> 
#> Enter your token without quotes:
#> no token provided
#> 
#>     `SPECIESPLUS_TOKEN` env var has not been set yet.
#>     A token is required to use the species + API, see
#>     https://api.speciesplus.net/documentation
...[Repeats several hundred times]

This is the result when using reprex::reprex() to produce the example. In the case where the non-interactive mode is in knitting an R Markdown document or in R CMD check, one will get an error like Error: C stack usage 7971268 is too close to the limit, which generally indicates infinite recursion - the depth of the function call stack is too large.

I'm not sure exactly why this occurs, but I would suggest checking for the presence of a token early and exiting with an informative error to avoid this.

Created on 2019-05-21 by the reprex package (v0.3.0)

Session info
devtools::session_info()
#> ─ Session info ──────────────────────────────────────────────────────────
#>  setting  value                       
#>  version  R version 3.6.0 (2019-04-26)
#>  os       macOS Mojave 10.14.4        
#>  system   x86_64, darwin15.6.0        
#>  ui       X11                         
#>  language (EN)                        
#>  collate  en_US.UTF-8                 
#>  ctype    en_US.UTF-8                 
#>  tz       America/New_York            
#>  date     2019-05-21                  
#> 
#> ─ Packages ──────────────────────────────────────────────────────────────
#>  package     * version date       lib source        
#>  assertthat    0.2.1   2019-03-21 [1] CRAN (R 3.6.0)
#>  backports     1.1.4   2019-04-10 [1] CRAN (R 3.6.0)
#>  callr         3.2.0   2019-03-15 [1] CRAN (R 3.6.0)
#>  cli           1.1.0   2019-03-19 [1] CRAN (R 3.6.0)
#>  crayon        1.3.4   2017-09-16 [1] CRAN (R 3.6.0)
#>  desc          1.2.0   2018-05-01 [1] CRAN (R 3.6.0)
#>  devtools      2.0.2   2019-04-08 [1] CRAN (R 3.6.0)
#>  digest        0.6.19  2019-05-20 [1] CRAN (R 3.6.0)
#>  evaluate      0.13    2019-02-12 [1] CRAN (R 3.6.0)
#>  fs            1.3.1   2019-05-06 [1] CRAN (R 3.6.0)
#>  glue          1.3.1   2019-03-12 [1] CRAN (R 3.6.0)
#>  highr         0.8     2019-03-20 [1] CRAN (R 3.6.0)
#>  htmltools     0.3.6   2017-04-28 [1] CRAN (R 3.6.0)
#>  knitr         1.23    2019-05-18 [1] CRAN (R 3.6.0)
#>  magrittr      1.5     2014-11-22 [1] CRAN (R 3.6.0)
#>  memoise       1.1.0   2017-04-21 [1] CRAN (R 3.6.0)
#>  pkgbuild      1.0.3   2019-03-20 [1] CRAN (R 3.6.0)
#>  pkgload       1.0.2   2018-10-29 [1] CRAN (R 3.6.0)
#>  prettyunits   1.0.2   2015-07-13 [1] CRAN (R 3.6.0)
#>  processx      3.3.1   2019-05-08 [1] CRAN (R 3.6.0)
#>  ps            1.3.0   2018-12-21 [1] CRAN (R 3.6.0)
#>  R6            2.4.0   2019-02-14 [1] CRAN (R 3.6.0)
#>  rcites      * 1.0.0   2018-11-18 [1] CRAN (R 3.6.0)
#>  Rcpp          1.0.1   2019-03-17 [1] CRAN (R 3.6.0)
#>  remotes       2.0.4   2019-04-10 [1] CRAN (R 3.6.0)
#>  reprex        0.3.0   2019-05-16 [1] CRAN (R 3.6.0)
#>  rlang         0.3.4   2019-04-07 [1] CRAN (R 3.6.0)
#>  rmarkdown     1.12    2019-03-14 [1] CRAN (R 3.6.0)
#>  rprojroot     1.3-2   2018-01-03 [1] CRAN (R 3.6.0)
#>  sessioninfo   1.1.1   2018-11-05 [1] CRAN (R 3.6.0)
#>  stringi       1.4.3   2019-03-12 [1] CRAN (R 3.6.0)
#>  stringr       1.4.0   2019-02-10 [1] CRAN (R 3.6.0)
#>  testthat      2.1.1   2019-04-23 [1] CRAN (R 3.6.0)
#>  usethis       1.5.0   2019-04-07 [1] CRAN (R 3.6.0)
#>  withr         2.1.2   2018-03-15 [1] CRAN (R 3.6.0)
#>  xfun          0.7     2019-05-14 [1] CRAN (R 3.6.0)
#>  yaml          2.2.0   2018-07-25 [1] CRAN (R 3.6.0)
#> 
#> [1] /Library/Frameworks/R.framework/Versions/3.6/Resources/library

CITESR Co-authorship

Dear @JonasGeschke, @KevCaz, @basil-yakimov, @tdjames1, @susanjarvis501, @mbhleduc, and @JonathanGoldenberg.

Thanks to a big push from Kevin and Jonas, we finalized the R package citesR. We plan to submit it to JOSS soon. As you all participated in the hackathon, we would like to be inclusive and fair in the co-authorship and list all relevant contributions.

Please, let us know how would you like to be acknowledged. I think the right move would be to list you in the R package as contributors (according to the package author role definitions: "ctb" (Contributor): Authors who have made smaller contributions.), but please, let us know if any of you made substantial contributions in early stages (I don't remember who did what, to be honest, so speak up!), in which case we should list you as Authors ("aut" (Author): Full authors who have made substantial contributions to the package).

As for the paper authorship, if you want to contribute, please edit the paper.md file with your inputs asap.

Please, answer in this issue before end of July.

Best,
Nacho, Jonas and Kevin.

Wrong information returned

Hi developers,

sometimes some species have a wrong and correct appendix value returned, like in the example bellow.
I did not identify any pattern in this kind of error.

Cheers!
Fred

sppplus_taxonconcept(key, query = "Amazilia versicolor")

1 3210 Amazilia versicolor II
2 65789 Amazilia versicolor NA

sessionInfo()

R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 16299)

Matrix products: default

locale:
[1] LC_COLLATE=Portuguese_Brazil.1252 LC_CTYPE=Portuguese_Brazil.1252
[3] LC_MONETARY=Portuguese_Brazil.1252 LC_NUMERIC=C
[5] LC_TIME=Portuguese_Brazil.1252

attached base packages:
[1] tcltk stats graphics grDevices utils datasets methods base

other attached packages:
[1] devtools_1.13.4 citesr_0.0.1

loaded via a namespace (and not attached):
[1] compiler_3.4.2 tools_3.4.2 withr_2.1.1 RCurl_1.95-4.10 memoise_1.1.0
[6] digest_0.6.12 bitops_1.0-6 XML_3.98-1.9

author roles

@KevCaz I just saw you changed the emails. I think we should adapt the author roles instead ... me as author (as I wrote most of the code) and you as maintainer (as you did and are doing most technical stuff).

further, in case its still possible to change this, I worked on the logo a bit more:
rcites_logo.zip

Editor's comments on version 0.1.0.9000

  • I see you have examples wrapped in \donttest{}, AFAIK these examples are run on cran's checks, is that what you intended? if not, change it to \dontrun{}
  • In running goodpractice::gp(), i see there's quite a few files that still have lines longer than 80 width, run gp, then see x$lintr - within reason try to make these width 80 or less
  • I'd consider adding a parameter ... to all functions that do HTTP requests to allow users to pass curl options to any HTTP request. I personally consider it best practice, though it's not in our policies. I guess an alternative is that users can just wrap your functions in with_verbose(...) if they want to use curl options. this could go under something to think about moving forward (blog post https://ropensci.org/blog/2014/12/18/curl-options/ covering curl options)

See ropensci/software-review#244

Error in getting distribution data for species endemic to a single region

I was testing the packages using a few species native to Sri Lanka and I consistently ran into the same issue. It appears that when a species is endemic to a single region, 'rcites::spp_distributions' doesn't return a valid value.
I've illustrated the issue below.
If we take the 'Red Slender Loris' (Loris tardigradus), a Loris species native to the rainforests of Sri Lanka and try to get it's distribution, the package throws an error.

library(rcites)

rcites::set_token("YOUR_TOKEN")

# Check for the Sri Lankan Slender Loris
loris <- rcites::spp_taxonconcept("Loris tardigradus")

# Get the species ID
loris_id <- loris$all_id$id

# Get the species distribution
loris_distribution <- rcites::spp_distributions(taxon_id=loris_id)

The error is as follows

Error in apply(tmp[, !colnames(tmp) %in% c("tags", "references")], 2, : dim(X) must have a positive length

However, if we take the Asian Elephant (Elephas maximus), which is found across several Asian regions, there is no such error.

elephant <- rcites::spp_taxonconcept("Elephas maximus")

elephant_id <- elephant$all_id$id

elephant_distribution <- rcites::spp_distributions(taxon=elephant_id)

Thank you for your time. I hope this issue is solvable or I made an honest mistake.

Encode URLs

I am currently not able to test updated_since because of a mismatch between the request and what's recorded

request:

https://api.speciesplus.net/api/v1/taxon_concepts.json?updated_since=2018-01-01T00%3A00%3A00&page=1&per_page=500

and the cassette:

https://api.speciesplus.net/api/v1/taxon_concepts.json?updated_since=2018-01-01T00:00:00&page=1&per_page=500

One possible way around is to use utils::encodeURL()

CRAN submission

As I'm completing the first CRAN submission, I'd like to add a couple of notes to make your live easier if you (@JonasGeschke or @ibartomeus ) take care of future submissions:

  1. make sure everything is OK (we did so this morning),

  2. edit r-cran-comments.md to explain what you did,

  3. use the win builder https://win-builder.r-project.org/ (devtools::build_win()), which allows you to check the package on window, an email will be sent to the maintainer (I guess @JonasGeschke you've already received two of those!), note that we are currently using Travis and Appveyor and doing a good job regarding the testing of the package.

As usual Hadley Wickham did a great job explaining everything: http://r-pkgs.had.co.nz/release.html

Add scope and language parameters

Hi there,
I now added the scope= and language= parameters to spp_cites_legislation() and spp_eu_legislation(), as well as the language= parameter to spp_distribution().

Can you please test and check for functionality. thanks.

Submit the package

The process is described here:

https://github.com/ropensci/onboarding#how-submit

Looks easy, but we need to check the guidelines first. Also, What do you think about submitting to JOSS (which is the same process)? For me and given the nature of this package, would be enough. This would give us a DOI, a line in our CV under peer-reviewed papers and a to be indexed in G scholar.

I am skeptical MEE would be interested. I am not sure which other Journals accept quick notes on R packages.

ROpenSci review: function prefixes

regarding the function prefixes:

The authors use the sppplus_ prefix for some functions, and taxon_ for others. It might be simpler to have all functions retrieving something from the API to start with the same prefix (if you want it shorter, I suggest spl_).

as far as I see we do have

  1. sppplus_ for general access by means of login/token and getting the taxon id through the taxon concept and
  2. taxon_ for receiving data for a specific taxon from the database.

I think this actually is close to what the reviewer asked for ... a few things I would propose to change:

  1. sppplus_simplify() probably doesnt need a prefix at all?
  2. sppplus_special_case() should be a helper function?
  3. sppplus_taxonconcept() could become taxon_concept()
  4. respectively to the API documentation, we could use just get_ instead of taxon_

resulting in the following function names:
token or set_token / simplify / get_taxonconcept / get_cites_legislation / get_eu_legislation / get_distribution / get_references
for the helper functions I then would propose rcites_ as prefix.

what do you think? if you both agree I would change the prefixes.

Paper

I added the R citation to the ms, but I can't edit the .bib, can you please add this and re-knit the .md? Thanks!

rcites_combine_lists() dropped tibble classes

As mentioned by Noam here:

I see that when the results from vectorized calls are combined into aggregated data frames, the tibble classes are dropped. I think this should be a quick fix to rcites_combine_lists()

spp_*_legilation() sometime returns (apparently) unrelated info

reprex

R>     res <- spp_cites_legislation(taxon_id = c("8094"))                                            

should return

R> res                                                                                               

── Cites listings ($cites_listings): ────────────────────────────────────────────────────────────────
# A tibble: 0 × 0

── Cites quotas ($cites_quotas): ────────────────────────────────────────────────────────────────────
# A tibble: 0 × 0

── Cites suspensions ($cites_suspensions): ──────────────────────────────────────────────────────────
# A tibble: 3 × 8
  id    taxon_concept_id start_date is_current applies_to_import geo_entity.iso_code2 geo_entity.name
  <chr> <chr>            <chr>      <lgl>      <lgl>             <chr>                <chr>          
1 15839 23               2010-11-29 TRUE       FALSE             PH                   Philippines    
2 15978 NA               2010-11-29 TRUE       FALSE             PH                   Philippines    
3 22920 NA               2018-03-26 TRUE       FALSE             IN                   India          
# … with 1 more variable: geo_entity.type <chr>
Field(s) not printed:  notes, start_notification.name, start_notification.date, start_notification.url 

which does not seem related to 8094

rworld, should we include it?

To keep the package as light as possible, I would recommend to use rworldmap in a vignette but not in the package. Just a thought.

Versioning of the package

Hi,

I'm almost done with the first version of the package. I think it should be released under 0.2.0 so versions 0.1.X refer to the first era of the development. You may or may not be familiar with semantic versioning so here is a very helpful link https://semver.org/. I propose we keep using 0.1.X until there is a change in the checklist API. Alternatively we could use 1.X.X so the first number refers to the version of the Checklist API (in which case versions 0.X.X would refer to early development stages).

Also, we may want to add a 4th number to indicate whether or not it is a development version. For instance, let say 1.1.1 is on CRAN, then we use 1.1.1.900 for the development version, switch to 1.1.2 for the new release and once the release done we then name the dev version 1.1.2.900.

Let me know what do you think so I properly tag the first version!

Code coverage

Now that codecov is added, we should use improve the code coverage, i.e. we should implement tests in the test folder (see http://r-pkgs.had.co.nz/tests.html).

I may be tricky as we need a token to perform most of the tests (making this issue related to #9).

Make the vignette more comprehensive

Maybe 12?

@ibartomeus yes I think it would be great if you could have a look at the vignette. probably we could also have two files,

  • one "Get started with rcites" for explaining how to set the token and apply each function (technical explanation of the package)
    and
  • one "Speciesplus information about the African elephant" for running through a whole functionality explanation and showcasing the package usage (story telling explanation, incl. the use of other packages like rworldmap)
    ?

If you like this idea I am also happy to kickstart the two files and then we can work on them together.

Not Found (HTTP 404): spp_cites_legislation bulk analysis

spp_cites_legislation() generates HTTP 404 errors when trying to fetch multiple taxon id's. The error appears at different times when trying to reproduce it. Sometimes the error appears after 6 taxon id's whereas the next time it might be after 16 taxon id's. I have been able to successfully run the code below until mid November 2019. A reproducible example:

# load library
library(rcites)

# object with multiple taxon id's
taxonid <- c("11007", "3576",  "7074",  "4824",  "5865",  
"12290", "8816",  "8876",  "10073", "5276",  "12244", "9253",  
"30606", "10652", "10505", "7211",  "6373",  "65782", "11053", "6235" )

# unsuccessful data fetching due to HTTP 404 error
spp_legislation <- spp_cites_legislation(taxon_id = taxonid, scope = "all", raw = TRUE) 

rOpenSci submission

[preparation for submission, see details here]

Summary

  • What does this package do? (explain in 50 words or less):
    With rcites we provide an R client to access to the Speciesplus database. We provide functions to 1. access the Speciesplus taxon concept, and thereafter 2. get a species' legislation status, both from CITES and from the European Union, 3. get a species' country-wise distribution range, as listed in Speciesplus, and 4. get the references on which a Speciesplus listing is based.

  • Paste the full DESCRIPTION file inside a code block below:

Package: rcites
Type: Package
Title: R Interface to the Species+ Database
Version: 0.1.0
Authors@R: c(person("Jonas", "Geschke", role = c("aut"), email = "[email protected]", comment = c(ORCID = "0000-0002-5654-9313")),
  person("Kevin", "Cazelles", role = c("aut", "cre"), email = "[email protected]", comment = c(ORCID = "0000-0001-6619-9874")),
  person("Ignasi", "Bartomeus", role = c("aut"), comment = c(ORCID = "0000-0001-7893-4389")),
  person("Jonathan", "Goldenberg", role = c("ctb")),
  person("Marie-Bé", "Leduc", role = c("ctb")),
  person("Yasmine", "Verzelen", role = c("ctb")))
Description: A programmatic interface to the Species+ <https://speciesplus.net/> database via the Species+/CITES Checklist API <https://api.speciesplus.net/>.
URL: https://ibartomeus.github.io/rcites/, https://github.com/ibartomeus/rcites
BugReports: https://github.com/ibartomeus/rcites/issues
License: MIT + file LICENSE
Depends:
  R (>= 3.1.0)
Imports:
  httr,
  data.table,
  methods
Encoding: UTF-8
RoxygenNote: 6.0.1
Suggests: knitr, rmarkdown, testthat, rworldmap
VignetteBuilder: knitr
  • URL for the package (the development repository, not a stylized html page):
    https://github.com/ibartomeus/rcites

  • Please indicate which category or categories from our package fit policies this package falls under *and why(? (e.g., data retrieval, reproducibility. If you are unsure, we suggest you make a pre-submission inquiry.):
    Database access, because the package gives access to the Species+/CITES Checklist API

  •   Who is the target audience and what are scientific applications of this package?  
    Researchers and national authorities

  • Are there other R packages that accomplish the same thing? If so, how does
    yours differ or meet our criteria for best-in-category?
    No

  •   If you made a pre-submission enquiry, please paste the link to the corresponding issue, forum post, or other discussion, or @tag the editor you contacted.

Requirements

Confirm each of the following by checking the box. This package:

  • does not violate the Terms of Service of any service it interacts with.
  • has a CRAN and OSI accepted license.
  • contains a README with instructions for installing the development version.
  • includes documentation with examples for all functions.
  • contains a vignette with examples of its essential functions and uses.
  • has a test suite.
  • has continuous integration, including reporting of test coverage, using services such as Travis CI, Coveralls and/or CodeCov.
  • I agree to abide by ROpenSci's Code of Conduct during the review process and in maintaining my package should it be accepted.

Publication options

  • Do you intend for this package to go on CRAN?
  • Do you wish to automatically submit to the Journal of Open Source Software? If so:
    • The package has an obvious research application according to JOSS's definition.
    • The package contains a paper.md matching JOSS's requirements with a high-level description in the package root or in inst/.
    • The package is deposited in a long-term repository with the DOI:
    • (Do not submit your package separately to JOSS)
  • Do you wish to submit an Applications Article about your package to Methods in Ecology and Evolution? If so:
    • 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)
    • (Scope: Do consider MEE's Aims and Scope for your manuscript. We make no gaurantee that your manuscript willl 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)

Detail

  • Does R CMD check (or devtools::check()) succeed? Paste and describe any errors or warnings:

  • Does the package conform to rOpenSci packaging guidelines? Please describe any exceptions:

  • If this is a resubmission following rejection, please explain the change in circumstances:

  • If possible, please provide recommendations of reviewers - those with experience with similar packages and/or likely users of your package - and their GitHub user names:
    https://github.com/karthik
    https://github.com/geanders

Token in readme

Do you think is a good idea to add a token to the readme? My understanding is that those should be personal. Hence, I would remove it from there and add a link to get your own token.

A `simplfy` argument?

Currently most of the functions use the flexibility of matrix/data.frame/data.table and store information as lists. This is very useful for us to make the code short, this may however bewilder some users.

What we could do is to add an argument simplify so the data.tables we output have columns that are not lists when it is possible. What do you think?

Vignettes

Should citesr-vignette.Rmd live in both vignettes/ and inst/doc/ ? Or we can remove one?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.