Skip to contents

Introduction

Species parameter values cannot be drawn from a single data source. Moreover, the availability of plant trait data continuously increases, as additional efforts are made in observational or experimental studies (Kattge et al. 2020). This means that multiple data sources need to be harmonized before species parameter tables are build, in terms of:

a) Nomenclature of measured variables.
b) Measurement units.
c) Taxonomy of the measured biological entities. 

The result of this harmonization needs to be stored in a harmonized format for subsequent use when creating species parameter tables. This vignette illustrates the harmonization procedures for an example data set using package trait4models and the usual tidyverse packages. Harmonization of allometric equations is explained in a companion vignette.

IMPORTANT: This vignette is not self-contained, in the sense that it cannot be reproduced without access to data sets that are not included. Nevertheless, it is intended to serve as example of species parameterization for other regions.

Required packages

Assuming we have traits4models installed, we load it and other common packages that we will employ in this vignette:

Example dataset

As example for the harmonization process, here we will use data from a Bartlett et al. (2016). Much larger data sets can (and should) be processed, but they take much more time. Bartlett et al. provide traits that describe the leaf/stem/root hydraulic vulnerability curves of several species as well as water potential corresponding to stomatal aperture. We start by loading the dataset:

DB_path <- "~/OneDrive/EMF_datasets/PlantTraitDatabases/"
db <- readr::read_csv(paste0(DB_path, "Sources/Bartlett_et_al_2016/pnas.1604088113.sd01.csv"))

The data looks as follows:

db
## # A tibble: 310 × 26
##    Group      Name          Biome `Evergreen/Decid` `Leaf P50 (MPa)` `TLP (MPa)`
##    <chr>      <chr>         <chr> <chr>                        <dbl>       <dbl>
##  1 Angiosperm Acacia gregg… Semi… E                            NA          -4.25
##  2 Angiosperm Acer campest… Temp… D                            -1.32       -1.9 
##  3 Angiosperm Acer grandid… Temp… D                            NA          -2.45
##  4 Angiosperm Acer monspes… Med.… D                            -1.89       -2.2 
##  5 Angiosperm Acer negundo  Temp… D                            NA          -1.59
##  6 Angiosperm Acer pseudop… Temp… D                            -1.19       -1.4 
##  7 Angiosperm Acer rubrum   Temp… D                            -1.7        -1.59
##  8 Angiosperm Acer sacchar… Temp… D                            NA          -2.78
##  9 Angiosperm Adansonia ru… Trop… D                            NA          -1.12
## 10 Angiosperm Adansonia za  Trop… D                            NA          -1.26
## # ℹ 300 more rows
## # ℹ 20 more variables: `Stem P50 (MPa)` <dbl>, `Stem P88 (MPa)` <dbl>,
## #   `Stem P12 (MPa)` <dbl>, `Root P50 (MPa)` <dbl>, `Gs P50 (MPa)` <dbl>,
## #   `Gs 95 (MPa)` <dbl>, `plant Psi_lethal (MPa)` <dbl>,
## #   `Psimin_predawn (MPa)` <dbl>, `Psimin_midday (MPa)` <dbl>,
## #   `Psimin_midday and/or predawn Method` <chr>,
## #   `Reference (for Leaf P50)` <chr>, `Reference (for TLP)` <chr>, …

Harmonizing notation and measurement units

The first steps to be done are to harmonize trait notation, i.e. how plant traits are referred to, and if necessary, change their units. Package traits4models includes a data table called HarmonizedTraitDefinition that presents plant trait definitions and their required notation and units:

Definition Notation Type Units
Life form LifeForm String NA
Growth form GrowthForm String NA
Leaf shape LeafShape String NA
Leaf area LeafArea Numeric mm2
Leaf size (category) LeafSize String NA
Leaf angle (inclination, orientation) LeafAngle Numeric degrees
Dispersal syndrome DispersalMode String NA
Leaf phenology type PhenologyType String NA
Duration of leaves (leaf lifespan) LeafDuration Numeric yrs
Maximum plant height Hmax Numeric cm
Actual plant height Hact Numeric cm
Rooting depth Z95 Numeric mm
Crown ratio (crown length divided over total height) CrownRatio Numeric NA
Leaf area per leaf dry mass (specific leaf area, SLA), 1/ Leaf mass per area (LMA) SLA Numeric m2kg-1 = mm2mg-1
Leaf area to sapwood area ratio (Al2As), 1 / Huber Value (Hv) Al2As Numeric m2*m-2
Proportion of sapwood corresponding to conducive elements (vessels or tracheids) as opposed to parenchymatic tissue. conduit2sapwood Numeric NA
Specific root length SRL Numeric cm/g
Proportion of total fine fuels that are dead pDead Numeric [0-1]
Stem carbon (C) content per stem dry mass WoodC Numeric NA
Density of leaf tissue (dry weight over volume) LeafDensity Numeric gcm-3 = mgmm-3
Wood tissue density (at 0% humidity!) WoodDensity Numeric gcm-3 = mgmm-3
Density of fine root tissue (dry weight over volume). FineRootDensity Numeric gcm-3 = mgmm-3
Leaf width LeafWidth Numeric cm
Maximum stomatal conductance to water vapor Gswmax Numeric mol H2O * s-1 * m-2
Minimum stomatal conductance to water vapor Gswmin Numeric mol H2O * s-1 * m-2
Osmotic potential at full turgor of leaves LeafPI0 Numeric MPa
Modulus of elasticity (capacity of the cell wall to resist changes in volume in response to changes in turgor) of leaves LeafEPS Numeric NA
Leaf apoplastic fraction LeafAF Numeric [0-1]
Leaf water potential at turgor loss point Ptlp Numeric MPa
Slope coefficient of the Medlyn stomatal conductance model g1_Medlyn Numeric NA
Parameters of the stomatal response to leaf water potential Gs_P20 Numeric MPa
Parameters of the stomatal response to leaf water potential Gs_P50 Numeric MPa
Parameters of the stomatal response to leaf water potential Gs_P80 Numeric MPa
Parameters of the stomatal response to leaf water potential Gs_P90 Numeric MPa
Parameters of the stomatal response to leaf water potential Gs_P95 Numeric MPa
Leaf photosynthesis carboxylation capacity (Vcmax) per leaf area (Farquhar model) Vmax Numeric NA
Leaf photosynthesis electron transport capacity (Jmax) per leaf area (Farquhar model) Jmax Numeric NA
Leaf nitrogen (N) content per leaf dry mass Nleaf Numeric mg/g
Wood nitrogen (N) content per wood dry mass Nsapwood Numeric mg/g
Fine root nitrogen (N) content per fine root dry mass Nfineroot Numeric mg/g
Maximum stem-specific hydraulic conductivity Ks Numeric kg m-1 MPa-1 s-1
Maximum leaf-specific hydraulic conductivity (Ks*Hv) Kl Numeric 10-4 kg m-1 MPa-1 s-1
Maximum leaf hydraulic conductance kleaf Numeric mmolm-2s-1MPa-1
Maximum whole-plant hydraulic conductance kplant Numeric mmolm-2s-1MPa-1
Parameters of the stem vulnerability curve VCstem_P12 Numeric MPa
Parameters of the stem vulnerability curve VCstem_P50 Numeric MPa
Parameters of the stem vulnerability curve VCstem_P88 Numeric MPa
Parameters of the stem vulnerability curve VCstem_slope Numeric NA
Parameters of the leaf vulnerability curve VCleaf_P12 Numeric MPa
Parameters of the leaf vulnerability curve VCleaf_P50 Numeric MPa
Parameters of the leaf vulnerability curve VCleaf_P88 Numeric MPa
Parameters of the leaf vulnerability curve VCleaf_slope Numeric NA
Parameters of the root vulnerability curve VCroot_P12 Numeric MPa
Parameters of the root vulnerability curve VCroot_P50 Numeric MPa
Parameters of the root vulnerability curve VCroot_P88 Numeric MPa
Parameters of the root vulnerability curve VCroot_slope Numeric NA
Leaf dry mass per leaf fresh mass (leaf dry matter content, LDMC) LDMC Numeric mg/g
Leaf fuel moisture content (% of dry weight) LFMC Numeric % of dry weight
Ratio of foliar (photosynthetic) + small branches (<6.35 mm) dry biomass to foliar (photosynthetic) dry biomass r635 Numeric >=1
High fuel heat content HeatContent Numeric kJ/kg
Surface-area-to-volume ratio SAV Numeric m2/m3
Percent of lignin+cutin over dry weight in leaves LigninPercent Numeric %
Bark thickness BarkThickness Numeric mm
Seedbank average longevity SeedLongevity Numeric yrs
Seed dry mass SeedMass Numeric mg
Succulence (g of water /m2 of projected leaf) LeafSucculence Numeric g/m2
Leaf projected to half developed area (m2/m2) LeafProjectedToHalfDevelopedArea Numeric m2/m2
Minimum conductance of the leaf to water vapor on developed area basis (including cuticule and stomatal leakiness) GminLeaf Numeric mmolm-2s-1
Q10 of the initial gmin response to temperature (before Tp) Q10gminPhase1 Numeric NA
Q10 of the initial gmin response to temperature (after Tp) Q10gminPhase2 Numeric NA
Transition phase for gmin dependence to temperature GminTransitionPhase Numeric C

In the case of Bartlett’s dataset we are interested in points of the vulnerability curve and stomatal behavior. We can check their corresponding names in HarmonizedTraitDefinition. For example, Leaf P50 (MPa) is the water potential corresponding to the 50% conductance loss in leaves, and should be named VCleaf_P50 according to HarmonizedTraitDefinition, and so on. We can use dplyr function rename() to harmonize trait notation. In this case, all plant traits we are interested in are given in units of MPa, and HarmonizedTraitDefinition reports the same units for these traits, so there is no need to harmonize measurement units. The code for notation harmonization could be as follows:

db_var <- db |>
  dplyr::select(Name, "Leaf P50 (MPa)", "Stem P50 (MPa)", "Stem P88 (MPa)", "Stem P12 (MPa)", 
                "Root P50 (MPa)", "Gs P50 (MPa)", "Gs 95 (MPa)") |>
  dplyr::rename(originalName = Name,
                VCleaf_P50 = "Leaf P50 (MPa)",
                VCstem_P50 = "Stem P50 (MPa)",
                VCstem_P12 = "Stem P12 (MPa)",
                VCstem_P88 = "Stem P88 (MPa)",
                VCroot_P50 = "Root P50 (MPa)",
                Gs_P50 = "Gs P50 (MPa)",
                Gs_P95 = "Gs 95 (MPa)") 

Note that we also renamed the column containing the plant species into originalName. The original name represents the taxon name that is used by the data set owner/provider and is key for taxonomic harmonization. The result of this step should contain originalName, plus one column for each harmonized trait, and (preferably) two columns called Reference and Priority. We can add those columns manually using:

db_var <- db_var |>
  dplyr::mutate(Reference = "Bartlett et al. (2016)",
                Priority = 3)

Column Reference indicates the bibliographic source of the data, whereas Priority allows defining an order in which trait data sources will be processed. Those with highest priority order (lowest value of Priority) will be given preference.

db_var
## # A tibble: 310 × 10
##    originalName    VCleaf_P50 VCstem_P50 VCstem_P88 VCstem_P12 VCroot_P50 Gs_P50
##    <chr>                <dbl>      <dbl>      <dbl>      <dbl>      <dbl>  <dbl>
##  1 Acacia greggii       NA         NA         NA        NA          NA     NA   
##  2 Acer campestre       -1.32      -3.87      -4.60     -3.19       NA     NA   
##  3 Acer grandiden…      NA         -3.66      -7.14     -0.92       -0.86  NA   
##  4 Acer monspessu…      -1.89      -3.31      -4.61     -2.02       -1.6   NA   
##  5 Acer negundo         NA         -1.34      -2.74     -0.451      -0.3   NA   
##  6 Acer pseudopla…      -1.19      -2.37      -2.71     -1.95       NA     NA   
##  7 Acer rubrum          -1.7       -3.9       -6        -2.5        -1.69  NA   
##  8 Acer saccharum       NA         -3.97      NA        NA          -1.5   -1.56
##  9 Adansonia rubr…      NA         -1.1       -2.82     -0.293      NA     NA   
## 10 Adansonia za         NA         -1.7       -3.49     -0.59       NA     NA   
## # ℹ 300 more rows
## # ℹ 3 more variables: Gs_P95 <dbl>, Reference <chr>, Priority <dbl>

Taxonomic harmonization

Package traits4models currently relies on World Flora Online for taxonomic harmonization, via package WorldFlora (Kindt 2020) available at CRAN. This latter package requires a static copy of the World Flora Online Taxonomic Backbone data that can be downloaded from the World Flora Online website. Note that you should use a different DOI reference when reporting your harmonization procedures. We are using here v.2024.06. We assume the user has already downloaded the backbone and stored it in a file called classification.csv.

WFO_file <- paste0(DB_path, "WFO_Backbone/classification.csv")

Taxonomic harmonization is done by calling function harmonize_taxonomy_WFO() with a data frame (where notation and units are already harmonized) and the path to the WFO backbone (we omit the console output):

db_post <- traits4models::harmonize_taxonomy_WFO(db_var, WFO_file)

The function requires that the input data frame contains a column called originalName, to identify the original taxa names (additional columns are simply transferred to the output). It performs both direct and fuzzy matching, which may lead to large processing time for large datasets. If we inspect the resulting data frame, we will see the additional columns, informing about accepted names and parent taxonomic entities:

head(db_post)
## # A tibble: 6 × 16
##   originalName  acceptedName acceptedNameAuthorship family genus specificEpithet
##   <chr>         <chr>        <chr>                  <chr>  <chr> <chr>          
## 1 Acacia gregg… Senegalia g… (A.Gray) Britton & Ro… Fabac… Sene… greggii        
## 2 Acer campest… Acer campes… L.                     Sapin… Acer  campestre      
## 3 Acer grandid… Acer saccha… (Nutt.) Desmarais      Sapin… Acer  saccharum      
## 4 Acer monspes… Acer monspe… L.                     Sapin… Acer  monspessulanum 
## 5 Acer negundo  Acer negundo L.                     Sapin… Acer  negundo        
## 6 Acer pseudop… Acer pseudo… L.                     Sapin… Acer  pseudoplatanus 
## # ℹ 10 more variables: taxonRank <chr>, VCleaf_P50 <dbl>, VCstem_P50 <dbl>,
## #   VCstem_P88 <dbl>, VCstem_P12 <dbl>, VCroot_P50 <dbl>, Gs_P50 <dbl>,
## #   Gs_P95 <dbl>, Reference <chr>, Priority <dbl>

Checking harmonized trait data

The packages includes function check_harmonized_trait() to check whether a given data frame conforms in structure and content to what is later required for parameter table filling:

##  The data frame is acceptable as harmonized trait data source.

In this case, the data set is ready to be used in parameter estimation. As an example, we can run the same checking function with the data base before taxonomic harmonization:

## ! Taxonomy columns missing: acceptedName acceptedNameAuthorship family genus specificEpithet taxonRank
## ! The data frame is not acceptable as harmonized trait data source.

Storing harmonized dataset

Harmonized data tables can be stored in .csv text format or compressed .rds format. Moreover, all tables should be stored in the same directory, here in the Products/harmonized/ path.

file_out <- paste0(DB_path, "Products/harmonized/Bartlett_et_al_2016.rds")
saveRDS(db_post, file_out)

Accessing harmonized trait data

List of harmonized trait databases

As mentioned in the introduction, here it is assumed that a set of plant trait databases have been harmonized. In our case, harmonized data files have been stored in the following path:

harmonized_trait_path <- "~/OneDrive/EMF_datasets/PlantTraitDatabases/Products/harmonized"

We can list the set of harmonized sources using:

trait_files <- list.files(path = harmonized_trait_path, full.names = FALSE)
trait_files
##   [1] "00_compilation_CCfineroot.rds"                          
##   [2] "00_compilation_CCleaf.rds"                              
##   [3] "00_compilation_CCsapwood.rds"                           
##   [4] "00_compilation_FineFuelRatio.rds"                       
##   [5] "00_compilation_Flammability_HeatContent.rds"            
##   [6] "00_compilation_Flammability_SAV.rds"                    
##   [7] "00_compilation_Phenology_Budburst.rds"                  
##   [8] "00_compilation_Phenology_Senescence.rds"                
##   [9] "Augustine_McCulloh_2024.rds"                            
##  [10] "Baez_et_al_2022_BarkThickness.rds"                      
##  [11] "Baez_et_al_2022_GrowthForm.rds"                         
##  [12] "Baez_et_al_2022_Ks.rds"                                 
##  [13] "Baez_et_al_2022_LDMC.rds"                               
##  [14] "Baez_et_al_2022_LeafArea.rds"                           
##  [15] "Baez_et_al_2022_Nleaf.rds"                              
##  [16] "Baez_et_al_2022_SLA.rds"                                
##  [17] "Baez_et_al_2022_WoodDensity.rds"                        
##  [18] "Bartlett_et_al_2012.rds"                                
##  [19] "Bartlett_et_al_2016.rds"                                
##  [20] "Bjorkman_et_al_2018_Hact.rds"                           
##  [21] "Bjorkman_et_al_2018_LDMC.rds"                           
##  [22] "Bjorkman_et_al_2018_LeafArea.rds"                       
##  [23] "Bjorkman_et_al_2018_Nleaf.rds"                          
##  [24] "Bjorkman_et_al_2018_SeedMass.rds"                       
##  [25] "Bjorkman_et_al_2018_SLA.rds"                            
##  [26] "Bjorkman_et_al_2018_Z95.rds"                            
##  [27] "Chianucci_et_al_2018_LeafAngle.rds"                     
##  [28] "Choat_et_al_2012_XFT.rds"                               
##  [29] "De_Caceres_et_al_2019_CR_pDead.rds"                     
##  [30] "Diaz_et_al_2022.rds"                                    
##  [31] "Duursma_et_al_2018.rds"                                 
##  [32] "Falster_et_al_2021_Al2As.rds"                           
##  [33] "Falster_et_al_2021_Hact.rds"                            
##  [34] "Falster_et_al_2021_Jmax.rds"                            
##  [35] "Falster_et_al_2021_Ks.rds"                              
##  [36] "Falster_et_al_2021_LeafAngle.rds"                       
##  [37] "Falster_et_al_2021_LeafArea.rds"                        
##  [38] "Falster_et_al_2021_LeafDensity.rds"                     
##  [39] "Falster_et_al_2021_LeafDuration.rds"                    
##  [40] "Falster_et_al_2021_LeafEPS.rds"                         
##  [41] "Falster_et_al_2021_LeafPI0.rds"                         
##  [42] "Falster_et_al_2021_LeafShape.rds"                       
##  [43] "Falster_et_al_2021_LeafWidth.rds"                       
##  [44] "Falster_et_al_2021_LifeForm.rds"                        
##  [45] "Falster_et_al_2021_Nsapwood.rds"                        
##  [46] "Falster_et_al_2021_SeedMass.rds"                        
##  [47] "Falster_et_al_2021_SLA.rds"                             
##  [48] "Falster_et_al_2021_SRL.rds"                             
##  [49] "Falster_et_al_2021_StemEPS.rds"                         
##  [50] "Falster_et_al_2021_VCstem_P12.rds"                      
##  [51] "Falster_et_al_2021_VCstem_P50.rds"                      
##  [52] "Falster_et_al_2021_VCstem_P88.rds"                      
##  [53] "Falster_et_al_2021_Vmax.rds"                            
##  [54] "Falster_et_al_2021_WoodDensity.rds"                     
##  [55] "Guerrero_Ramirez_et_al_2021_GRooT_FineRootDensity.rds"  
##  [56] "Guerrero_Ramirez_et_al_2021_GRooT_Nfineroot.rds"        
##  [57] "Guerrero_Ramirez_et_al_2021_GRooT_RootingDepth.rds"     
##  [58] "Guerrero_Ramirez_et_al_2021_GRooT_SRL.rds"              
##  [59] "Guillemot_et_al_2022.rds"                               
##  [60] "Henry_et_al_2019.rds"                                   
##  [61] "Hoshika_et_al_2018.rds"                                 
##  [62] "Kattge_et_al_2020_DispersalMode.rds"                    
##  [63] "Kattge_et_al_2020_GrowthForm.rds"                       
##  [64] "Kattge_et_al_2020_Hact.rds"                             
##  [65] "Kattge_et_al_2020_Jmax.rds"                             
##  [66] "Kattge_et_al_2020_LeafAngle.rds"                        
##  [67] "Kattge_et_al_2020_LeafArea.rds"                         
##  [68] "Kattge_et_al_2020_LeafDensity.rds"                      
##  [69] "Kattge_et_al_2020_LeafDuration.rds"                     
##  [70] "Kattge_et_al_2020_LeafEPS.rds"                          
##  [71] "Kattge_et_al_2020_LeafPI0.rds"                          
##  [72] "Kattge_et_al_2020_LeafShape.rds"                        
##  [73] "Kattge_et_al_2020_LeafWidth.rds"                        
##  [74] "Kattge_et_al_2020_LifeForm.rds"                         
##  [75] "Kattge_et_al_2020_LigninPercent.rds"                    
##  [76] "Kattge_et_al_2020_Nfineroot.rds"                        
##  [77] "Kattge_et_al_2020_Nleaf.rds"                            
##  [78] "Kattge_et_al_2020_Nsapwood.rds"                         
##  [79] "Kattge_et_al_2020_PhenologyType.rds"                    
##  [80] "Kattge_et_al_2020_SeedLongevity.rds"                    
##  [81] "Kattge_et_al_2020_SeedMass.rds"                         
##  [82] "Kattge_et_al_2020_ShadeTol.rds"                         
##  [83] "Kattge_et_al_2020_SLA.rds"                              
##  [84] "Kattge_et_al_2020_SRL.rds"                              
##  [85] "Kattge_et_al_2020_Vmax.rds"                             
##  [86] "Kattge_et_al_2020_WoodC.rds"                            
##  [87] "Kattge_et_al_2020_WoodDensity.rds"                      
##  [88] "Kattge_et_al_2020_Z95.rds"                              
##  [89] "Klein_et_al_2014.rds"                                   
##  [90] "Kunert_Tomaskova_2020.rds"                              
##  [91] "Lens_et_al_2016.rds"                                    
##  [92] "Lin_et_al_2015.rds"                                     
##  [93] "Liu_et_al_2019.rds"                                     
##  [94] "MartinStPaul_et_al_2017.rds"                            
##  [95] "Morris_et_al_2016.rds"                                  
##  [96] "Ocampo_Zuleta_Pausas_Paula_2023_FLAMITS_HeatContent.rds"
##  [97] "Petruzzellis_et_al_2021.rds"                            
##  [98] "Pisek_Adamson_2020_LeafAngle.rds"                       
##  [99] "Ramirez_Valiente_et_al_2020.rds"                        
## [100] "Sjoman_et_al_2015.rds"                                  
## [101] "Sjoman_et_al_2018.rds"                                  
## [102] "Tavares_et_al_2023.rds"                                 
## [103] "Tavsanoglu_Pausas_2018_Hact.rds"                        
## [104] "Tavsanoglu_Pausas_2018_LDMC.rds"                        
## [105] "Tavsanoglu_Pausas_2018_LeafArea.rds"                    
## [106] "Tavsanoglu_Pausas_2018_LeafDuration.rds"                
## [107] "Tavsanoglu_Pausas_2018_LeafShape.rds"                   
## [108] "Tavsanoglu_Pausas_2018_LifeForm.rds"                    
## [109] "Tavsanoglu_Pausas_2018_pDead.rds"                       
## [110] "Tavsanoglu_Pausas_2018_PhenologyType.rds"               
## [111] "Tavsanoglu_Pausas_2018_SeedMass.rds"                    
## [112] "Tavsanoglu_Pausas_2018_SLA.rds"                         
## [113] "Tavsanoglu_Pausas_2018_WoodDensity.rds"                 
## [114] "Tavsanoglu_Pausas_2018_Z95.rds"                         
## [115] "Tumber_Davila_et_al_2022.rds"                           
## [116] "Vilagrosa_et_al_2014.rds"                               
## [117] "Wang_et_al_2022_CPTD.rds"                               
## [118] "Wang_et_al_2024.rds"                                    
## [119] "Wolfe_et_al_2023.rds"                                   
## [120] "Yan_et_al_2020.rds"                                     
## [121] "Yebra_et_al_2024_LFMC.rds"                              
## [122] "Zhu_et_al_2016.rds"                                     
## [123] "Zhu_et_al_2018.rds"

Querying data for particular traits or species

Before filling any species parameter table, it may be useful to inspect the amount of information available for particular traits or species. Package trait4models provides a couple of utility functions for this. For example, we can load all values for Gswmin, the minimum stomatal conductance, using function get_trait_data():

gsmin_data <- get_trait_data(harmonized_trait_path, "Gswmin",
                           progress = FALSE)
head(gsmin_data)
##       originalName     acceptedName acceptedNameAuthorship   family  genus
## 1       Abies alba       Abies alba                  Mill. Pinaceae  Abies
## 2 Abies lasiocarpa Abies lasiocarpa          (Hook.) Nutt. Pinaceae  Abies
## 3   Abies sibirica   Abies sibirica                 Ledeb. Pinaceae  Abies
## 4       Acacia koa       Acacia koa                 A.Gray Fabaceae Acacia
## 5  Acacia maidenii  Acacia maidenii               F.Muell. Fabaceae Acacia
## 6   Acacia mangium   Acacia mangium                 Willd. Fabaceae Acacia
##   specificEpithet taxonRank      Gswmin                         Reference
## 1            alba   species 0.001500000                Wang et al. (2024)
## 2      lasiocarpa   species 0.004779429         Boyce and Saunders (2000)
## 3        sibirica   species 0.003044600    Brodribb McAdam, et al. (2014)
## 4             koa   species 0.003800000 Pasquet-Kok Creese, et al. (2010)
## 5        maidenii   species 0.004200000      Warren Aranda, et al. (2011)
## 6         mangium   species 0.004750000      Warren Aranda, et al. (2011)
##   Priority
## 1        1
## 2        1
## 3        1
## 4        1
## 5        1
## 6        1

Analogously, if we are interested in querying trait information for a particular taxa, we can use function get_taxon_data():

ph_data <- get_taxon_data(harmonized_trait_path, "Pinus halepensis",
                          progress = FALSE)
head(ph_data)
##        Trait        Value Units
## 1   LifeForm Phanerophyte  <NA>
## 2   LifeForm Phanerophyte  <NA>
## 3   LifeForm Phanerophyte  <NA>
## 4 GrowthForm         Tree  <NA>
## 5 GrowthForm         Tree  <NA>
## 8  LeafShape       Needle  <NA>
##                                                                                                                                                                                                                                Reference
## 1                                                           Sophie Gachet, Errol V\xe9la, Thierry Tatoni, 2005, BASECO: a floristic and ecological database of Mediterranean French flora. Biodiversity and Conservation 14(4):1023-1034
## 2 Dressler S, M Schmidt, G Zizka (2014) Introducing African Plants\x97A Photo Guide\x97An Interactive Photo Data-Base and Rapid Identification Tool for Continental Africa. Taxon 63(5) 1159-1161 DOI: http://dx.doi.org/10.12705/635.26
## 3                                                                                                                                                                                                                            Greuter1984
## 4                                                                      Weigelt, P., C. K\xf6nig, and H. Kreft (2019) GIFT \x96 A Global Inventory of Floras and Traits for macroecology and biogeography. bioRxiv doi.org/10.1101/535005
## 5                                                                                                                                                                                                                        Liu et al. 2019
## 8                                                                                                                                                                                                                                 unpub.
##   Priority
## 1        1
## 2        1
## 3        1
## 4        1
## 5        2
## 8        1

References

Bartlett, Megan K, Tamir Klein, Steven Jansen, Brendan Choat, and Lawren Sack. 2016. “The Correlations and Sequence of Plant Stomatal, Hydraulic, and Wilting Responses to Drought.” Proceedings of the National Academy of Sciences of the United States of America 113 (46): 13098–103. https://doi.org/10.1073/pnas.1604088113.
Kattge, Jens, Gerhard Bönisch, Sandra Díaz, Sandra Lavorel, Iain Colin Prentice, Paul Leadley, Susanne Tautenhahn, et al. 2020. TRY Plant Trait Database – Enhanced Coverage and Open Access.” Global Change Biology 26 (1): 119–88. https://doi.org/10.1111/gcb.14904.
Kindt, Roeland. 2020. WorldFlora: An R Package for Exact and Fuzzy Matching of Plant Names Against the World Flora Online Taxonomic Backbone Data.” Applications in Plant Sciences 8 (9): e11388. https://doi.org/10.1002/aps3.11388.