Species Trait Data from Around the Web

Species trait data from many different sources, including sequence data from 'NCBI', plant trait data from 'BETYdb', invasive species data from the Global Invasive Species Database and 'EOL', 'Traitbank' data from 'EOL', Coral traits data from http://coraltraits.org, 'nativity' status ('Flora Europaea' or 'ITIS'), and 'Birdlife' International.


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.

Stable CRAN version

install.packages("traits")

Or development version from GitHub

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

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
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_('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

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)

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)

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

News

traits 0.1.0

NEW FEATURES

  • released to CRAN

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("traits")

0.2.0 by Scott Chamberlain, a year ago


https://github.com/ropensci/traits


Report a bug at http://www.github.com/ropensci/traits/issues


Browse source code at https://github.com/cran/traits


Authors: Scott Chamberlain [aut, cre], Zachary Foster [aut], Ignasi Bartomeus [aut], David LeBauer [aut], David Harris [aut]


Documentation:   PDF Manual  


MIT + file LICENSE license


Imports methods, stats, utils, jsonlite, httr, dplyr, data.table, readr, taxize, xml2, rvest

Suggests roxygen2, knitr, testthat, plyr, covr


Imported by metacoder.


See at CRAN