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.

What is a trait? A "trait" for the purposes of this package is broadly defined as an aspect of a species that can be described or measured, such as physical traits (size, length, height, color), behavioral traits (running speed, etc.), and even variables that make up the niche of the species (e.g., habitat).

Included in traits with the associated function prefix or function name:

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.

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"))
#> # A tibble: 14 x 36
#>    checked result_type    id citation_id site_id treatment_id sitename
#>      <int> <chr>       <int>       <int>   <int>        <int> <chr>   
#>  1       1 traits      39217         430     645         1342 ""      
#>  2       1 traits      39218         430     645         1343 ""      
#>  3       1 traits      39219         430     645         1344 ""      
#>  4       1 traits      39220         430     645         1345 ""      
#>  5       1 traits      25405          51      NA            1 <NA>    
#>  6       1 traits      39213         430     645         1342 ""      
#>  7       1 traits      39214         430     645         1343 ""      
#>  8       1 traits      39215         430     645         1344 ""      
#>  9       1 traits      39216         430     645         1345 ""      
#> 10       1 traits      39221         430     645         1342 ""      
#> 11       1 traits      39222         430     645         1343 ""      
#> 12       1 traits      39223         430     645         1344 ""      
#> 13       1 traits      39224         430     645         1345 ""      
#> 14       1 traits      37519         381     602         1220 <NA>    
#> # … with 29 more variables: city <chr>, lat <dbl>, lon <dbl>,
#> #   scientificname <chr>, commonname <chr>, genus <chr>, species_id <int>,
#> #   cultivar_id <int>, author <chr>, citation_year <int>, treatment <chr>,
#> #   date <chr>, time <chr>, raw_date <chr>, month <int>, year <int>,
#> #   dateloc <chr>, trait <chr>, trait_description <chr>, mean <dbl>,
#> #   units <chr>, n <int>, statname <chr>, stat <dbl>, notes <chr>,
#> #   access_level <int>, cultivar <chr>, entity <lgl>, method_name <lgl>
# 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))
#> # A tibble: 4 x 6
#> # Groups:   scientificname [4]
#>   scientificname                  trait  mean   min   max     n
#>   <chr>                           <chr> <dbl> <dbl> <dbl> <int>
#> 1 Salix                           Vcmax  65    65    65       1
#> 2 Salix dasyclados                Vcmax  46.1  34.3  56.7     4
#> 3 Salix sachalinensis × miyabeana Vcmax  79.3  79.3  79.3     1
#> 4 Salix viminalis                 Vcmax  43.0  20.0  61.3     8

EOL's traitbank trait data

traitbank(query = "MATCH (n:Trait) RETURN n LIMIT 1;")
#> $columns
#> [1] "n"
#> 
#> $data
#> $data[[1]]
#>   metadata.id metadata.labels
#> 1    20280619           Trait
#>                                                                                     paged_traverse
#> 1 http://10.252.248.44:7474/db/data/node/20280619/paged/traverse/{returnType}{?pageSize,leaseTime}
#>                                              outgoing_relationships
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships/out
#>                                                        outgoing_typed_relationships
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships/out/{-list|&|types}
#>                                                   labels
#> 1 http://10.252.248.44:7474/db/data/node/20280619/labels
#>                                             create_relationship
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships
#>                                                                traverse
#> 1 http://10.252.248.44:7474/db/data/node/20280619/traverse/{returnType}
#>                                                   all_relationships
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships/all
#>                                                             all_typed_relationships
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships/all/{-list|&|types}
#>                                                           property
#> 1 http://10.252.248.44:7474/db/data/node/20280619/properties/{key}
#>                                              self
#> 1 http://10.252.248.44:7474/db/data/node/20280619
#>                                             incoming_relationships
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships/in
#>                                                   properties
#> 1 http://10.252.248.44:7474/db/data/node/20280619/properties
#>                                                       incoming_typed_relationships
#> 1 http://10.252.248.44:7474/db/data/node/20280619/relationships/in/{-list|&|types}
#>     data.eol_pk data.resource_pk
#> 1 R74-PK5014587           110690
#>                                data.scientific_name
#> 1 <i>Adenopodia floribunda</i> (Kleinhoonte) Brenan
#>                                data.source
#> 1 http://www.pnas.org/content/114/40/10695
#>                                                                   data.literal
#> 1 http://eol.org/schema/terms/Tropical_and_subtropical_moist_broadleaf_forests

Coral

Get the species list and their ids

coral_species()
#> # A tibble: 1,548 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   
#> # … with 1,538 more rows

Get data by taxon

coral_taxa(80)
#> # A tibble: 3,540 x 25
#>    observation_id access user_id specie_id specie_name location_id
#>             <int>  <int>   <int>     <int> <chr>             <int>
#>  1         157133      1      10        80 Acropora h…           1
#>  2         156961      1      14        80 Acropora h…         409
#>  3           5781      1       1        80 Acropora h…           1
#>  4         156610      1       2        80 Acropora h…         500
#>  5         158118      1      10        80 Acropora h…         409
#>  6         119211      1      49        80 Acropora h…           1
#>  7         158211      1      10        80 Acropora h…         413
#>  8          90294      1      15        80 Acropora h…         341
#>  9          90294      1      15        80 Acropora h…         341
#> 10          90294      1      15        80 Acropora h…         341
#> # … with 3,530 more rows, and 19 more variables: 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      major
#> 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

Contributors

Meta

By participating in this project you agree to abide by its terms.

Copy Link

Version

Install

install.packages('traits')

Monthly Downloads

33

Version

0.4.2

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Scott Chamberlain

Last Published

June 29th, 2019

Functions in traits (0.4.2)

is_native

Check if a species is native somewhere
traits-package

traits - Species trait data from around the web
plantatt

PLANTATT plant traits dataset
ncbi_searcher

Search for gene sequences available for taxa from NCBI.
traits_cache

Caching
tr_usda

USDA plants data
tr_zanne

Zanne et al. plant dataset
leda

Access LEDA trait data
ncbi_byid

Retrieve gene sequences from NCBI by accession number.
ncbi_byname

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

Search for traits from EOL's Traitbank
birdlife_habitat

Get bird habitat information from BirdLife/IUCN
birdlife_threats

Get bird threat information from BirdLife/IUCN
traits-defunct

Defunct functions in traits
betydb

Search for traits from BETYdb
eol_invasive_

Search for presence of taxonomic names in EOL invasive species databases
betydb_query

Query a BETY table
coral

Search for coral data on coraltraits.org
fe_native

Check species status (native, exotic, ...) from Flora Europaea webpage
g_invasive

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

Search for traits by taxa names
tr_ernest

Amniote life history dataset