Learn R Programming

⚠️There's a newer version (0.5.1) of this package.Take me there.

traits

R client for various sources of species trait data.

Included in traits with the associated function prefix:

Talk to us on the issues page if you know of a source of traits data with an API, and we'll see about including it.

For an introduction to the package, see the vignette.

Installation

Stable CRAN version

install.packages("traits")

Or development version from GitHub

devtools::install_github("ropensci/traits")
library("traits")
library("dplyr")

BETYdb

Get trait data for Willow (Salix spp.)

(salix <- betydb_search("Salix Vcmax"))
#> Source: local data frame [14 x 31]
#> 
#>    access_level       author checked citation_id citation_year  city
#>           (int)        (chr)   (int)       (int)         (int) (chr)
#> 1             4       Merilo       1         430          2005 Saare
#> 2             4       Merilo       1         430          2005 Saare
#> 3             4       Merilo       1         430          2005 Saare
#> 4             4       Merilo       1         430          2005 Saare
#> 5             4 Wullschleger       1          51          1993    NA
#> 6             4       Merilo       1         430          2005 Saare
#> 7             4       Merilo       1         430          2005 Saare
#> 8             4       Merilo       1         430          2005 Saare
#> 9             4       Merilo       1         430          2005 Saare
#> 10            4       Merilo       1         430          2005 Saare
#> 11            4       Merilo       1         430          2005 Saare
#> 12            4       Merilo       1         430          2005 Saare
#> 13            4       Merilo       1         430          2005 Saare
#> 14            4         Wang       1         381          2010    NA
#> Variables not shown: commonname (chr), cultivar_id (int), date (chr),
#>   dateloc (chr), genus (chr), id (int), lat (dbl), lon (dbl), mean (chr),
#>   month (dbl), n (int), notes (chr), result_type (chr), scientificname
#>   (chr), site_id (int), sitename (chr), species_id (int), stat (chr),
#>   statname (chr), trait (chr), trait_description (chr), treatment (chr),
#>   treatment_id (int), units (chr), year (dbl)
# equivalent:
# (out <- betydb_search("willow"))

Summarise data from the output data.frame

library("dplyr")
salix %>%
  group_by(scientificname, trait) %>%
  mutate(.mean = as.numeric(mean)) %>%
  summarise(mean = round(mean(.mean, na.rm = TRUE), 2),
            min = round(min(.mean, na.rm = TRUE), 2),
            max = round(max(.mean, na.rm = TRUE), 2),
            n = length(n))
#> Source: local data frame [4 x 6]
#> Groups: scientificname [?]
#> 
#>                    scientificname trait  mean   min   max     n
#>                             (chr) (chr) (dbl) (dbl) (dbl) (int)
#> 1                           Salix Vcmax 65.00 65.00 65.00     1
#> 2                Salix dasyclados Vcmax 46.08 34.30 56.68     4
#> 3 Salix sachalinensis × miyabeana Vcmax 79.28 79.28 79.28     1
#> 4                 Salix viminalis Vcmax 43.04 19.99 61.29     8

GISD invasive species data

sp <- c("Carpobrotus edulis", "Rosmarinus officinalis")
g_invasive(sp)
#>                  species
#> 1     Carpobrotus edulis
#> 2 Rosmarinus officinalis
#>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               status
#> 1 Carpobrotus edulis is a mat-forming succulent native to South Africa which is invasive primarily in coastal habitats in many parts of the world. It was often introduced as an ornamental plant or used for planting along roadsides, from which it has spread to become invasive. Its main impacts are smothering, reduced regeneration of native flora and changes to soil pH and nutrient regimes.;  (succulent); Common Names: balsamo, Cape fig, figue marine, freeway iceplant, ghaukum, ghoenavy, highway ice plant, higo del Cabo, higo marino, Hottentosvy, hottentot fig, Hottentottenfeige, iceplant, ikhambi-lamabulawo, Kaapsevy, patata frita, perdevy, pigface, rankvy, sea fig, sour fig, suurvy, umgongozi, vyerank; Synonyms: Mesembryanthemum edule L., Mesembryanthemum edulis
#> 2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        Not in GISD

Or as simplified output

g_invasive(sp, simplify = TRUE)
#>                  species      status
#> 1     Carpobrotus edulis    Invasive
#> 2 Rosmarinus officinalis Not in GISD

EOL invasive species data

eol_invasive_('Brassica oleracea', dataset = 'gisd')
#>       searched_name              name eol_object_id   db
#> 1 Brassica oleracea Brassica oleracea           NaN gisd

Another example, with more species, and from

eol_invasive_(c('Lymantria dispar','Cygnus olor','Hydrilla verticillata','Pinus concolor'),
              dataset = 'i3n')
#>           searched_name                                name eol_object_id
#> 1      Lymantria dispar                    Lymantria dispar           NaN
#> 2           Cygnus olor           Cygnus olor (Gmelin 1789)        913227
#> 3 Hydrilla verticillata Hydrilla verticillata (L. f.) Royle       1088921
#> 4        Pinus concolor                      Pinus concolor           NaN
#>    db
#> 1 i3n
#> 2 i3n
#> 3 i3n
#> 4 i3n

EOL's traitbank trait data

Searching for Mesoplodon bidens, page id 328566

res <- traitbank(846827)
res$graph %>%
  select(`dwc:measurementtype.@id`, `dwc:measurementtype.rdfs:label.en`) %>%
  filter(!is.na(`dwc:measurementtype.rdfs:label.en`))
#> Source: local data frame [6 x 2]
#> 
#>                              dwc:measurementtype.@id
#>                                                (chr)
#> 1 http://eol.org/schema/terms/TypeSpecimenRepository
#> 2 http://eol.org/schema/terms/TypeSpecimenRepository
#> 3                http://eol.org/schema/terms/Habitat
#> 4                http://eol.org/schema/terms/Habitat
#> 5       http://eol.org/schema/terms/ExtinctionStatus
#> 6       http://eol.org/schema/terms/ExtinctionStatus
#> Variables not shown: dwc:measurementtype.rdfs:label.en (chr)

Coral

Get the species list and their ids

coral_species()
#> Source: local data frame [1,547 x 2]
#> 
#>                          name    id
#>                         (chr) (chr)
#> 1         Acanthastrea brevis     3
#> 2       Acanthastrea echinata     4
#> 3      Acanthastrea hemprichi     6
#> 4  Acanthastrea ishigakiensis     8
#> 5      Acanthastrea regularis    12
#> 6   Acanthastrea rotundoflora    13
#> 7    Acanthastrea subechinata    14
#> 8      Acropora abrolhosensis    16
#> 9       Acropora abrotanoides    17
#> 10           Acropora aculeus    18
#> ..                        ...   ...

Get data by taxon

coral_taxa(80)
#> Source: local data frame [3,121 x 25]
#> 
#>    observation_id access user_id specie_id         specie_name location_id
#>             (int)  (int)   (int)     (int)               (chr)       (int)
#> 1          119211      1      49        80 Acropora hyacinthus           1
#> 2          109330      1       2        80 Acropora hyacinthus           1
#> 3           88793      1      14        80 Acropora hyacinthus           0
#> 4          115791      1      10        80 Acropora hyacinthus           1
#> 5          115792      1      10        80 Acropora hyacinthus           1
#> 6            5696      1       2        80 Acropora hyacinthus           1
#> 7            5741      1       1        80 Acropora hyacinthus           1
#> 8            5751      1       1        80 Acropora hyacinthus           1
#> 9            5773      1       5        80 Acropora hyacinthus           1
#> 10           5766      1       1        80 Acropora hyacinthus           1
#> ..            ...    ...     ...       ...                 ...         ...
#> Variables not shown: location_name (chr), latitude (dbl), longitude (dbl),
#>   resource_id (int), resource_secondary_id (int), measurement_id (int),
#>   trait_id (int), trait_name (chr), standard_id (int), standard_unit
#>   (chr), methodology_id (int), methodology_name (chr), value (chr),
#>   value_type (chr), precision (dbl), precision_type (chr), precision_upper
#>   (dbl), replicates (int), notes (chr)

Birdlife International

Habitat data

birdlife_habitat(22721692)
#>         id Habitat (level 1)                  Habitat (level 2) Importance
#> 1 22721692            Forest           Subtropical/Tropical Dry   suitable
#> 2 22721692            Forest Subtropical/Tropical Moist Montane      major
#> 3 22721692            Forest                          Temperate   suitable
#> 4 22721692         Shrubland Subtropical/Tropical High Altitude   suitable
#>     Occurrence
#> 1     breeding
#> 2 non-breeding
#> 3     breeding
#> 4     breeding

Meta

Copy Link

Version

Install

install.packages('traits')

Monthly Downloads

33

Version

0.2.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Scott Chamberlain

Last Published

March 18th, 2016

Functions in traits (0.2.0)

coral

Search for coral data on coraltraits.org
betydb

Search for traits from BETYdb
ncbi_searcher

Search for gene sequences available for taxa from NCBI.
leda

Access LEDA trait data
birdlife_habitat

Get bird habitat information from BirdLife/IUCN
ncbi_byid

Retrieve gene sequences from NCBI by accession number.
traits-package

traits - Species trait data from around the web
ncbi_byname

Retrieve gene sequences from NCBI by taxon name and gene names.
taxa_search

Search for traits by taxa names
fe_native

Check species status (native, exotic, ...) for one species from Flora Europaea webpage
birdlife_threats

Get bird threat information from BirdLife/IUCN
g_invasive

Check invasive species status for a set of species from GISD database
is_native

Check if a species is native somewhere
plantatt

PLANTATT plant traits dataset
traits-deprecated

Deprecated functions in traits
eol_invasive_

Search for presence of taxonomic names in EOL invasive species databases.
traitbank

Search for traits from EOL's Traitbank.