taxize suffers from little standardization in parameter names across the package. This is made worse by lots of functions. The same types of inputs to functions are sometimes specified with different function parameter names, for example, one function may expect a taxonomic name to be passed to names
, while another expects a taxonomic name to be passed to scinames
.
To make taxize usage easier moving forward, we’re standardizing parameter names across the package where possible. The focus here is only on the first parameter of a function, the most important one, as taxize
often uses S3 methods, and dispatch is dependent on (though doesn’t have to be) the first parameter.
The following parameters are being used to refer to specific types of inputs:
-
sci
: scientific name -
com
: common name -
id
: name identifier -
sci_com
: scientific name or common name -
sci_id
: scientific name or name identifier - there’s 2 special cases where three types of inputs are allowed: scientific name, common name, or id. in these cases we did not change the function as there’s no easy way to refer to all three concepts
You can see the complete table of changes in issue #723
If you use taxize
, please try out the development version. If you have been or have specified the first parameter in any of the functions in the table in issue #723 you will likely be affected by these change. If you have not specified the first parameter name, then you should not be affected.
Package developers that use taxize
: please do try out this development version and get back to me with any issues. @vijay_barve @fdschneider @aleruete @SteveViss
The development version has nice behavior (I think) if you do use the old parameter names.
- Most of the changed functions will still allow use of the old parameter name for a few more CRAN releases - internally we update the new parameter with the old one if the old one is used
- If an old parameter name is used, we’ll throw a warning. We’ll only throw the warning once per R session because warnings are annoying.
Installation:
# in a new R session:
remotes::install_github("ropensci/taxize@standardize-params")
library(taxize)
See ?taxize-params
for some guidance on the changes