The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Quantitative ethnobotany analysis with ethnobotanyR

Cory Whitney

ethnobotanyR logo

Please remember to cite this package if you use it in your publications.

citation("ethnobotanyR")
#> 
#> To cite package 'ethnobotanyR' in publications use:
#> 
#>   Whitney C (2022). _ethnobotanyR: Calculate Quantitative Ethnobotany
#>   Indices_. R package version 0.1.9,
#>   <https://CRAN.R-project.org/package=ethnobotanyR>.
#> 
#> A BibTeX entry for LaTeX users is
#> 
#>   @Manual{,
#>     title = {ethnobotanyR: Calculate Quantitative Ethnobotany Indices},
#>     author = {Cory Whitney},
#>     year = {2022},
#>     note = {R package version 0.1.9},
#>     url = {https://CRAN.R-project.org/package=ethnobotanyR},
#>   }

The ethnobotanyR package offers quantitative tools to assess the cultural significance of plant species based on informant consensus. The package closely follows two papers, one on cultural importance indices (Tardio and Pardo-de-Santayana 2008) and another on agrobiodiversity valuation (Whitney, Bahati, and Gebauer 2018). The goal is to provide an easy-to-use platform for ethnobotanists to perform quantitative ethnobotany assessments. Users are highly encouraged to familiarize themselves with ethnobotany theory (Albuquerque and Hurrell 2010) and social ecological theory (Albuquerque et al. 2019). An overview of this theoretical background will be helpful in understanding approaches in ethnobotany and formulating useful research questions.

The standard quantitative ethnobotany indices are probably too narrow a tool for a proper assessment of human and ecological interactions of interest. Still, they can be a useful entry way into understanding some aspects of human populations and how they interact with nature. The steps required to calculate these indices offer a way to quantify intangible factors of how human communities interact with the world. They can come in handy as additive pieces for more holistic assessments and analyses.

An example data set called ethnobotanydata is provided to show how standard ethnobotany data should be formatted to interface with the ethnobotanyR package. This is an ethnobotany data set including one column of 20 knowledge holder identifiers informant and one of 4 species names sp_name. The rest of the columns are the identified ethnobotany use categories. The data in the use categories is populated with counts of uses per person (should be 0 or 1 values). 1

Many of the functions in ethnobotanyR make use of select() and filter_all() functions of the dplyr package (Wickham et al. 2019) and pipe functions %>% from the magrittr package (Bache and Wickham 2014). These are easy to use and understand and allow users the chance to pull the code for these functions and change anything they see fit.

First six rows of the example ethnobotany data included with ethnobotanyR
informant sp_name Use_1 Use_2 Use_3 Use_4 Use_5 Use_6 Use_7 Use_8 Use_9 Use_10
inform_a sp_a 0 0 1 0 0 0 0 1 1 0
inform_a sp_b 0 0 0 0 0 0 0 0 0 0
inform_a sp_c 0 0 0 0 0 1 1 0 0 0
inform_a sp_d 0 0 0 0 0 0 0 0 0 0
inform_b sp_a 0 1 1 0 0 1 0 0 1 0
inform_b sp_b 1 0 0 0 0 0 1 0 0 0

ethnobotanyR indices functions

Use Report (UR) per species

The use report URs() is the most basic ethnobotany calculation. The function calculates the use report (UR) for each species in the data set.

\[\begin{equation} UR_{s} = \sum_{u=u_1}^{^uNC} \sum_{i=i_1}^{^iN} UR_{ui} \end{equation}\]

URs() calculates the total uses for the species by all informants (from \(i_1\) to \(^iN\)) within each use-category for that species \((s)\). It is a count of the number of informants who mention each use-category \(NC\) for the species and the sum of all uses in each use-category (from \(u_1\) to \(^uNC\)) (see Prance et al. 1987).

ethnobotanyR::URs(ethnobotanydata)
#>   sp_name URs
#> 1    sp_c  52
#> 2    sp_a  43
#> 3    sp_d  43
#> 4    sp_b  36

The URsum() function calculates the sum of all ethnobotany use reports (UR) for all species in the data set (see Prance et al. 1987).

ethnobotanyR::URsum(ethnobotanydata)
#> [1] 174

Cultural Importance (CI) index

The CIs() function calculates the cultural importance index (CI) for each species in the data set.

\[\begin{equation} CI_{s} = \sum_{u=u_1}^{^uNC} \sum_{i=i_1}^{^iN} UR_{ui/N}. \end{equation}\]

CIs() is essentially URs() divided by the number of informants to account for the diversity of uses for the species (see Tardio and Pardo-de-Santayana 2008).

ethnobotanyR::CIs(ethnobotanydata)
#>   sp_name   CI
#> 1    sp_c 2.60
#> 2    sp_a 2.15
#> 3    sp_d 2.15
#> 4    sp_b 1.80

Frequency of Citation (FC) per species

The FCs() function calculates the frequency of citation (FC) for each species in the data set.

\[\begin{equation} FC_s = \sum_{i=i_1}^{^iN}{UR_i} \end{equation}\]

FCs() is the sum of informants that cite a use for the species (see Prance et al. 1987).

ethnobotanyR::FCs(ethnobotanydata)
#>   sp_name FCs
#> 1    sp_c  17
#> 2    sp_a  15
#> 3    sp_b  12
#> 4    sp_d  12

Number of Uses (NU) per species

The NUs() function calculates the number of uses (NU) for each species in the data set.

\[\begin{equation} NU_s = \sum_{u=u_1}^{^uNC} \end{equation}\]

\(NC\) are the number of use categories. NUs() is the sum of all categories for which a species is considered useful (see Prance et al. 1987).

ethnobotanyR::NUs(ethnobotanydata)
#>   sp_name NUs
#> 1    sp_c   8
#> 2    sp_d   8
#> 3    sp_a   7
#> 4    sp_b   7

Relative Frequency of Citation (RFC) index

The RFCs() function calculates the relative frequency of citation (RFC) for each species in the data set.

\[\begin{equation} RFC_s = \frac{FC_s}{N} = \frac{\sum_{i=i_1}^{^iN} UR_i}{N} \end{equation}\]

\(FC_s\) is the frequency of citation for each species \(s\), \(UR_i\) are the use reports for all informants \(i\) and \(N\) is the total number of informants interviewed in the survey (see Tardio and Pardo-de-Santayana 2008).

ethnobotanyR::RFCs(ethnobotanydata)
#>   sp_name RFCs
#> 1    sp_c 0.85
#> 2    sp_a 0.75
#> 3    sp_b 0.60
#> 4    sp_d 0.60

Relative Importance (RI) index

The RIs() function calculates the relative importance index (RI) for each species in the data set.

\[\begin{equation} RI_s = \frac{RFC_{s(max)}+RNU_{s(max)}}{2} \end{equation}\]

\(RFC_{s(max)}\) is the relative frequency of citation for the species \(s\) over the maximum, \(RNU_{s(max)}\) is the relative number of uses for \(s\) over the maximum (see Tardio and Pardo-de-Santayana 2008).

ethnobotanyR::RIs(ethnobotanydata)
#>   sp_name   RIs
#> 1    sp_c 1.000
#> 2    sp_a 0.879
#> 3    sp_d 0.853
#> 4    sp_b 0.790

Use Value (UV) index

The UVs() function calculates the use value (UV) index for each species in the data set.

\[\begin{equation} UV_{s} = \sum_{i=i_1}^{^iN} \sum_{u=u_1}^{^uNC} UR_{ui/N} \end{equation}\]

UVs() is essentially the same as CIs() except that it starts with the sum of UR groupings by informants. \(U_i\) is the number of different uses mentioned by each informant \(i\) and \(N\) is the total number of informants interviewed in the survey (see Tardio and Pardo-de-Santayana 2008).

ethnobotanyR::UVs(ethnobotanydata)
#>   sp_name   UV
#> 1    sp_c 2.60
#> 2    sp_a 2.15
#> 3    sp_d 2.15
#> 4    sp_b 1.80

The simple_UVs() function calculates the simplified use value (UV) index for each species in the data set.

\[\begin{equation} UV_{s} = \sum U_i/N \end{equation}\]

\(U_i\) is the number of different uses mentioned by each informant \(i\) and \(N\) is the total number of informants interviewed in the survey (see Albuquerque et al. 2006).

Cultural Value (CVe) for ethnospecies

The CVe() function calculates the cultural value (CVe) for ethnospecies. The index is one of three proposed for assessing the cultural, practical and economic dimensions (ethno) species importance. Reyes-Garcia et al. (2006) suggest several more indices but \(CV_e\) is the most commonly used from that study (Reyes-Garcia et al. 2006).

\[\begin{equation} CV_{e} = {Uc_{e}} \cdot{IC_{e}} \cdot \sum {IUc_{e}} \end{equation}\]

Where \(UC_e\) is the number of uses reported for ethnospecies \(e\) divided by all potential uses of an ethnospecies considered in the study. \(Ic_e\) expresses the number of informants who listed the ethnospecies \(e\) as useful divided by the total number of informants. \(IUc_e\) expresses the number of informants who mentioned each use of the ethnospecies \(e\) divided by the total number of informants (see Reyes-Garcia et al. 2006).

ethnobotanyR::CVe(ethnobotanydata)
#> Joining, by = "sp_name"
#> Joining, by = "sp_name"
#>   sp_name   CVe
#> 1    sp_c 1.768
#> 2    sp_a 1.129
#> 3    sp_d 1.032
#> 4    sp_b 0.756

Fidelity Level (FL) per species

The FLs() function calculates the fidelity level (FL) per species in the study. It is a way of calculating the percentage of informants who use a plant for the same purpose as compared to all uses of the plant for any purpose.

\[\begin{equation} FL_{s} = \frac {N_{s}*100}{FC_{s}} \end{equation}\]

where \(N_s\) is the number of informants that use a particular plant for a specific purpose, and \(FC_s\) is the frequency of citation for the species (see Friedman et al. 1986).

ethnobotanyR::FLs(ethnobotanydata)
#>    sp_name Primary.use   FLs
#> 1     sp_a       Use_2 53.33
#> 2     sp_a       Use_3 60.00
#> 3     sp_a       Use_5 33.33
#> 4     sp_a       Use_6 46.67
#> 5     sp_a       Use_8 40.00
#> 6     sp_a       Use_9 33.33
#> 7     sp_a      Use_10 20.00
#> 8     sp_b       Use_1 50.00
#> 9     sp_b       Use_3 41.67
#> 10    sp_b       Use_4 33.33
#> 11    sp_b       Use_5 33.33
#> 12    sp_b       Use_6 41.67
#> 13    sp_b       Use_7 58.33
#> 14    sp_b       Use_9 41.67
#> 15    sp_c       Use_1 52.94
#> 16    sp_c       Use_2 41.18
#> 17    sp_c       Use_4 35.29
#> 18    sp_c       Use_5 17.65
#> 19    sp_c       Use_6 23.53
#> 20    sp_c       Use_7 29.41
#> 21    sp_c       Use_8 70.59
#> 22    sp_c      Use_10 35.29
#> 23    sp_d       Use_1 41.67
#> 24    sp_d       Use_2 25.00
#> 25    sp_d       Use_3 58.33
#> 26    sp_d       Use_5  8.33
#> 27    sp_d       Use_6 41.67
#> 28    sp_d       Use_7 66.67
#> 29    sp_d       Use_8 75.00
#> 30    sp_d       Use_9 41.67

Divide FLs by 100 to get the percent FL, as it is reported in some studies.

Visualize ethnobotanyR results

For quick assessments of differences between indices use the Radial_plot function to show ethnobotanyR results as a radial bar plot using the ggplot2 library. The cowplot package (Wilke 2019) can be useful for comparing several Radial_plot results for easy comparison across indices.

URs_plot <- ethnobotanyR::Radial_plot(ethnobotanydata, ethnobotanyR::URs)
#> Scale for y is already present.
#> Adding another scale for y, which will replace the existing scale.

NUs_plot <- ethnobotanyR::Radial_plot(ethnobotanydata, ethnobotanyR::NUs)
#> Scale for y is already present.
#> Adding another scale for y, which will replace the existing scale.

FCs_plot <- ethnobotanyR::Radial_plot(ethnobotanydata, ethnobotanyR::FCs)
#> Scale for y is already present.
#> Adding another scale for y, which will replace the existing scale.

CIs_plot <- ethnobotanyR::Radial_plot(ethnobotanydata, ethnobotanyR::CIs)
#> Scale for y is already present.
#> Adding another scale for y, which will replace the existing scale.

cowplot::plot_grid(URs_plot, NUs_plot, FCs_plot, CIs_plot, 
    labels = c('URs', 'NUs', 'FCs', 'CIs'), 
    nrow = 2, 
    align="hv",
    label_size = 12)

Chord diagrams with circlize

The following chord plots are made using functions from the circlize package (Gu et al. 2014). An example of the application of chord plots in ethnobotany is described in a study on agrobiodiversity in Uganda (Whitney, Bahati, and Gebauer 2018).

The ethnoChord() function creates a chord diagram of ethnobotany uses and species.

Chord_sp <- ethnobotanyR::ethnoChord(ethnobotanydata, by = "sp_name")

The ethnoChord() function can also be used to create a chord diagram of ethnobotany uses and informants.

Chord_informant <- ethnobotanyR::ethnoChord(ethnobotanydata, by = "informant")

Flow diagrams with ggalluvial

The ethno_alluvial() function uses the ggplot2 extension ggalluvial to make flow diagrams. This may be a useful way to visualize frequency distributions across uses, experts and use categories.

ethnobotanyR::ethno_alluvial(ethnobotanydata)

Generate the same plot with labels on the strata and without the legend.


# correct internal assignment for stat = "stratum" 
  StatStratum <- ggalluvial::StatStratum

ethnobotanyR::ethno_alluvial(ethnobotanydata, alpha = 0.2) + 
  ggplot2::theme(legend.position = "none") +  
             ggplot2::geom_label(stat = "stratum", 
                      ggplot2::aes(label = ggplot2::after_stat(stratum)))

References

Albuquerque, Ulysses P., and J. A. Hurrell. 2010. “Ethnobotany: One Concept and Many Interpretations.” Recent Developments and Case Studies in Ethnobotany, 87–99.
Albuquerque, Ulysses P., Reinaldo FP Lucena, Julio M.Monteiro, Alissandra TN Florentino, and Cecilia de Fatima CBR Almeida. 2006. “Evaluating Two Quantitative Ethnobotanical Techniques.” Ethnobotany Research and Applications 4: 51–60. https://doi.org/10125/237.
Albuquerque, Ulysses P., Patricia Muniz de Medeiros, Washington Soares Ferreira Junior, Taline Cristina da Silva, Rafael Ricardo Vasconcelos da Silva, and Thiago Gonçalves-Souza. 2019. “Social-Ecological Theory of Maximization: Basic Concepts and Two Initial Models.” Biological Theory. https://doi.org/10.1007/s13752-019-00316-8.
Bache, Stefan Milton, and Hadley Wickham. 2014. Magrittr: A Forward-Pipe Operator for r. https://CRAN.R-project.org/package=magrittr.
Friedman, J., Z. Yaniv, A. Dafni, and D. Palewitch. 1986. “A Preliminary Classification of the Healing Potential of Medicinal Plants, Based on a Rational Analysis of an Ethnopharmacological Field Survey Among Bedouins in the Negev Desert, Israel.” Journal of Ethnopharmacology 16 (2-3): 275–87.
Gu, Zuguang, Lei Gu, Roland Eils, Matthias Schlesner, and Benedikt Brors. 2014. “Circlize Implements and Enhances Circular Visualization in r.” Bioinformatics 30: 2811–12.
Prance, G. T., W. Balee, B. M. Boom, and R. L. Carneiro. 1987. “Quantitative Ethnobotany and the Case for Conservation in Amazonia.” Conservation Biology 1 (4): 296–310.
Reyes-Garcia, V., T. Huanca, V. Vadez, and W. Leonard. 2006. “Cultural, Practical, and Economic Value of Wild Plants: A Quantitative Study in the Bolivian Amazon.” Economic Botany.
Tardio, Javier, and Manuel Pardo-de-Santayana. 2008. “Cultural Importance Indices: A Comparative Analysis Based on the Useful Wild Plants of Southern Cantabria (Northern Spain) 1.” Economic Botany 62 (1): 24–39.
Whitney, Cory W., Joseph Bahati, and J. Gebauer. 2018. “Ethnobotany and Agrobiodiversity; Valuation of Plants in the Homegardens of Southwestern Uganda.” Ethnobiology Letters 9 (2): 90–100. https://doi.org/10.14237/ebl.9.2.2018.503.
Wickham, Hadley, Romain François, Lionel Henry, and Kirill Müller. 2019. Dplyr: A Grammar of Data Manipulation. https://CRAN.R-project.org/package=dplyr.
Wilke, Claus O. 2019. Cowplot: Streamlined Plot Theme and Plot Annotations for ’Ggplot2’. https://CRAN.R-project.org/package=cowplot.

  1. The example ethnobotanydata is included with the ethnobotanyR package but can also be downloaded from GitHub https://github.com/CWWhitney/ethnobotanyR/tree/master/data.↩︎

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.