Get NatureServe taxonomic ID for a taxon name
Usage
get_natservid(
sci_com,
searchtype = "scientific",
ask = TRUE,
messages = TRUE,
rows = NA,
query = NULL,
...
)
as.natservid(x, check = TRUE)
# S3 method for class 'natservid'
as.natservid(x, check = TRUE)
# S3 method for class 'character'
as.natservid(x, check = TRUE)
# S3 method for class 'list'
as.natservid(x, check = TRUE)
# S3 method for class 'numeric'
as.natservid(x, check = TRUE)
# S3 method for class 'data.frame'
as.natservid(x, check = TRUE)
# S3 method for class 'natservid'
as.data.frame(x, ...)
get_natservid_(
sci_com,
searchtype = "scientific",
messages = TRUE,
rows = NA,
query = NULL,
...
)Arguments
- sci_com
character; A vector of common or scientific names. Or, a
taxon_stateobject (see taxon-state)- searchtype
character; One of 'scientific' (default) or 'common'. This doesn't affect the query to NatureServe - but rather affects what column of data is targeted in name filtering post data request.
- ask
logical; should get_natservid be run in interactive mode? If
TRUEand more than one wormsid is found for the species, the user is asked for input. IfFALSENA is returned for multiple matches. default:TRUE- messages
logical; should progress be printed? default:
TRUE- rows
numeric; Any number from 1 to infinity. If the default NaN, all rows are considered. Note that this function still only gives back a natservid class object with one to many identifiers. See
get_natservid_()to get back all, or a subset, of the raw data that you are presented during the ask process.- query
Deprecated, see
sci_com- ...
curl options passed on to crul::verb-POST
- x
Input to
as.natservid- check
logical; Check if ID matches any existing on the DB, only used in
as.natservid()
Value
A vector of taxonomic identifiers as an S3 class.
If a taxon is not found an NA is given. If more than one identifier
is found the function asks for user input if ask = TRUE, otherwise
returns NA. If ask=FALSE and rows does not equal
NA, then a data.frame is given back, but not of the uid class, which
you can't pass on to other functions as you normally can.
See get_id_details for further details including
attributes and exceptions
See also
Other taxonomic-ids:
get_boldid(),
get_eolid(),
get_gbifid(),
get_ids(),
get_iucn(),
get_nbnid(),
get_pow(),
get_tolid(),
get_tpsid(),
get_tsn(),
get_uid(),
get_wiki(),
get_wormsid()
Examples
if (FALSE) { # \dontrun{
(x <- get_natservid("Helianthus annuus", verbose = TRUE))
attributes(x)
attr(x, "match")
attr(x, "multiple_matches")
attr(x, "pattern_match")
attr(x, "uri")
get_natservid('Gadus morhua')
get_natservid(c("Helianthus annuus", 'Gadus morhua'))
# specify rows to limit choices available
get_natservid('Ruby Quaker Moth', 'common')
get_natservid('Ruby*', 'common')
get_natservid('Ruby*', 'common', rows=1)
get_natservid('Ruby*', 'common', rows=1:2)
# When not found
get_natservid("howdy")
get_natservid(c('Gadus morhua', "howdy"))
# Convert a natservid without class information to a natservid class
# already a natservid, returns the same
as.natservid(get_natservid('Pomatomus saltatrix'))
# same
as.natservid(get_natservid(c('Gadus morhua', 'Pomatomus saltatrix')))
# character
as.natservid(101905)
# character vector, length > 1
as.natservid(c(101905, 101998))
# list, either numeric or character
as.natservid(list(101905, 101998))
## dont check, much faster
as.natservid(101905, check = FALSE)
as.natservid(c(101905, 101998), check = FALSE)
as.natservid(list(101905, 101998), check = FALSE)
(out <- as.natservid(c(101905, 101998), check = FALSE))
data.frame(out)
as.natservid( data.frame(out) )
# Get all data back
get_natservid_("Helianthus")
get_natservid_("Ruby*", searchtype = "common")
get_natservid_("Ruby*", searchtype = "common", rows=1:3)
} # }
