# Quantitative ethnobotany analysis with ethnobotanyR

#### Cory Whitney, University of Bonn

Please remember to cite the `ethnobotanyR` package if you use it in your publications. Use `citation("ethnobotanyR")` to get a citation for the latest version.

    To cite package 'ethnobotanyR' in publications use:

      Whitney C (2026). _ethnobotanyR: Ethnobotanical Analysis,
      Decision-Framing, and TEK Modeling_. R package version 0.2.0,
      <https://CRAN.R-project.org/package=ethnobotanyR>.

    A BibTeX entry for LaTeX users is

      @Manual{,
        title = {ethnobotanyR: Ethnobotanical Analysis, Decision-Framing, and TEK Modeling},
        author = {Cory Whitney},
        year = {2026},
        note = {R package version 0.2.0},
        url = {https://CRAN.R-project.org/package=ethnobotanyR},
      }

## A Critical Perspective on Ethnobotany Indices

Quantitative ethnobotany is the study of the use and importance of plants in human cultures, using statistical and analytical methods to quantify and interpret data. This approach has emerged as a key tool for understanding the cultural and ecological significance of plant species, and for evaluating the impact of human activities on plant communities and ecosystems.

While widely used in the literature, traditional ethnobotany indices have significant limitations that researchers should consider:

- Oversimplification: Complex cultural relationships reduced to single numbers
- Context stripping: Remove cultural, ecological, and historical context
- Methodological issues: Sensitive to sampling design and interview methods
- Theoretical concerns: Often lack strong theoretical foundations

When to use these indices: - Preliminary exploratory analysis - Comparison with existing literature that uses similar methods - As input variables for more sophisticated models (not as final results)

When to avoid these indices: - As primary evidence for policy decisions - For cross-cultural comparisons without careful validation - As standalone measures of “importance”

The field of ethnobotany has a long history, with roots dating back to the early 20th century when researchers began to systematically study the relationships between humans and plants. In recent decades, advances in statistical and computational techniques have enabled researchers to more rigorously and systematically analyze and interpret ethnobotanical data, leading to a greater understanding of the complex and diverse ways in which plants are used and valued in different cultural and ecological contexts.

Today, quantitative ethnobotany is an interdisciplinary field that draws on a range of methods and approaches from the natural and social sciences, including anthropology, sociology, biology, and ecology. It is a rapidly growing field that is making significant contributions to our understanding of human-plant relationships, and to the conservation and management of plant biodiversity.

This manual offers an overview of the basic functions of the `ethnobotanyR` package for generating figures and performing some very basic quantitative ethnobotany analysis. It offers a general overview and some arguments for and against the use of indices and offers some guidance toward other options for quantitative ethnobotany analysis. It also offers some handy and useful tools for exploratory analysis of ethnobotany data. All analyses are done using the `ethnobotanyR` package (Whitney 2026) in the R programming language (R Core Team 2025).

## using the `ethnobotanyR` package

The `ethnobotanyR` package offers quantitative tools to assess the cultural significance of plant species based on informant consensus (Whitney 2026) 1. The package closely follows two papers, one on cultural importance indices (Tardío 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 (U. de Albuquerque and Hurrell 2010) and social ecological theory (Ulysses Paulino Albuquerque et al. 2019). An overview of this theoretical background will be helpful in understanding approaches in ethnobotany and formulating useful research questions.

An example data set called `ethnobotanydata` is provided to show how standard quantitative 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) 2.

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

Many of the functions in `ethnobotanyR` make use of `select()` and `filter_all()` functions of the `dplyr` package (Wickham et al. 2026) and pipe functions `%>%` from the `magrittr` package (Bache and Wickham 2025). The intention is that these should be easy to understand and use, and that they should allow users the chance to pull the code for these functions and change anything they see fit.

## Working with figures

Figures can help to visually represent the main ideas or key results of ethnobotany work. Here we walk through a few of the functions within the `ethnobotanyR` package for generating figures (Whitney 2026).

## Chord diagrams with `circlize`

The following chord plots are made using functions from the `circlize` package (Gu 2025). 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")

For an example of the application of a chord diagram in ethnobotany research see Tabuti et al. (2022) on values and challenges for woody species in Uganda and Mon et al. (2020) on fig species use in Myanmar.

## 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)))

For an exaple of the alluvial plot in ethnobotany paper see Mon et al. (2020) on the traditional knowledge of edible fig tree species in Myanmar.

## `ethnobotanyR` indices functions

Ethnobotany indices are numerical measures that are used to quantify the importance of plant species in different cultural or ecological contexts. Some common ethnobotany indices are included here. These indices are often used to analyze ethnobotanical data and to compare the relative importance of different plant species within a particular culture or ecosystem.

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.

### Use Report (UR) per species

The use report `URs()` is the most basic ethnobotany calculation. The function calculates the reported uses 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 Tardío 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 Tardío 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 Tardío 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 Tardío 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 Ulysses P. 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-García 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-García et al. 2006).

    ethnobotanyR::CVe(ethnobotanydata)
    #> Joining with `by = join_by(sp_name)`
    #> Joining with `by = join_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.

### Plot all indices

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 2025) 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)

Despite their popularity, ethnobotany indices have been criticized for not accurately capturing the complexity and diversity of human-plant relationships. They may oversimplify or overlook important cultural or ecological factors. Additionally, ethnobotany indices are often based on subjective judgments and may be influenced by cultural biases or other factors that can affect the results of the analysis. Still, it is important to have an overview of ethnobotany indices, as they can provide useful insights into the role of plants in different cultural and ecological contexts. Additionally, understanding the background theory and limitations of these indices can help researchers to critically evaluate and interpret ethnobotanical data, and to design more accurate and comprehensive studies of human-plant interactions. Further exploratory methods may be helpful in understanding important relationships.

Critical Considerations

- Raw counts don’t account for sampling effort or cultural significance
- Can be misleading if informant expertise varies significantly
- Best used as input for more sophisticated analyses rather than final results

## Exploratory analyses

For the following examples we create some ethnobotany data for use in `ethnobotanyR`.

    eb_data <- data.frame(replicate(10,sample(0:1,20,rep=TRUE)))
    names(eb_data) <- gsub(x = names(eb_data), pattern = "X", replacement = "Use_")
    eb_data$informant <- sample(c('User_1', 'User_2', 'User_3'), 20, replace=TRUE)
    eb_data$sp_name <- sample(c('sp_1', 'sp_2', 'sp_3', 'sp_4'), 20, replace=TRUE)

## Ordination methods

Detrended correspondence analysis (DCA) and principal component analysis (PCA) are statistical techniques that can be useful for exploring patterns and trends in ethnobotany data. DCA is a multivariate statistical technique that is used to analyze patterns of species abundance or occurrence in relation to environmental variables, and to identify species groups or communities that are associated with different environmental conditions. PCA, on the other hand, is a statistical method that is used to identify the underlying structure of a dataset by reducing the number of variables and identifying the most important or influential factors.

Both DCA and PCA can be useful tools for exploratory analysis of ethnobotany data, as they can help to identify patterns and trends in the data that may not be immediately apparent. However, it is important for researchers to be aware of the limitations of these techniques and to use them with caution, as they can be sensitive to certain types of data and may not always produce reliable results.

In order to use these techniques effectively, it is important for researchers to have access to programming tools that allow them to run the analyses. The `ethnobotanyR` package offers a few handy tools to make these work with standard quantitative ethnobotany data. By having access to these tools, researchers can more easily and efficiently run these analyses and incorporate the results into their research projects.

Overall, it is important for researchers to be aware of tools like DCA and PCA and to have access to programming tools that allow them to run these analyses. These tools can be valuable tools for exploring and interpreting ethnobotany data, but they should be used with caution and within the confines of the predetermined research aims and objectives.

### Detrended correspondence analysis (DCA)

Detrended correspondence analysis (DCA) can be used to find the main factors or ‘gradients’ in large and sparse community data sets. This can be a useful tool for assessing important informant-species-use associations in ethnobotany. Here we use the data set presented in `eb_data` to perform DCA using the `decorana()` function in the `vegan` package (Oksanen et al. 2025).

The first step is to remove zero value row sums. The DCA can only work with data that is complete (i.e. we remove all NA cases as well as those where the species is listed by an informant but no specific use is recorded). This can be done quickly using the `select()` and `filter_all()` functions of the `dplyr` package (Wickham et al. 2026) and pipe `%>%` functions of the `magrittr` package (Bache and Wickham 2025).

    #remove rows with zero rowsums
    ethno_data_complete <- eb_data %>%
      dplyr::select(-informant, -sp_name) %>%
      dplyr::filter_all(any_vars(!is.na(.)))%>%
        dplyr::filter_all(any_vars(. != 0))

Use the `decorana` function of the `vegan` package (Oksanen et al. 2025) to get the ordination results.

    #Save ordination results
     ethno_ordination <- vegan::decorana(ethno_data_complete)

Ordination results can be shown with the command `summary()` and the argument for the named ordination, i.e. `summary(ethno_ordination)` in our case. Likewise, ordination scores can be extracted with `scores()`. Calling the `plot()` function on the ordination results will plot the scores from the ordination.

    #Plot ordination results
    plot(ethno_ordination)

## Principal component analysis (PCA)

Principal component analysis (PCA) can be used to create sets of linearly uncorrelated variables from cases of informant-species-use associations. The resulting principal components are linear combinations of variables that are fed in and each contain all observations. We perform PCA using the `broom` (Robinson et al. 2026), `tidyr` (Wickham, Vaughan, and Girlich 2025) and `purrr` (Wickham and Henry 2026) packages using the `nest()` function along with the `mutate()` and `map()` functions to operate on the nested columns. This gives a `tibble` with one row and three columns: 1. our original data set, 2. the `prcomp` object and 3. a data frame of principal component values for each observation.

    nested_ethno_pca <- eb_data %>%
      tidyr::nest(., data = everything()) %>%
      dplyr::mutate(pca = purrr::map(data, ~ stats::prcomp(.x %>%
            dplyr::select(-informant, -sp_name),
            center = TRUE, scale = TRUE)),
             pca_augmented = map2(pca, data, ~broom::augment(.x, data = .y)))

For PCA model evaluation we can check to see how much variance is explained by each principal component. This tells us how many of the components would be reasonable to assess when analyzing the results. To do this, we can use the data in the `pca_augmented` column of our `nested_ethno_pca` tibble along with `dplyr` (Wickham et al. 2026) and `magrittr` (Bache and Wickham 2025) functions.

    var_exp_tidy <- nested_ethno_pca %>%
      tidyr::unnest(pca_augmented) %>%
      dplyr::summarize_at(.vars = dplyr::vars(contains("PC", ignore.case = FALSE)), .funs = tibble::lst(var)) %>%
      tidyr::gather(key = pc, value = variance) %>%
      dplyr::mutate(var_exp = variance/sum(variance),
             cum_var_exp = cumsum(var_exp),
             pc = stringr::str_replace(pc, ".fitted", ""))

The 10 principle components selected explain 1% of variance. As a general rule the first few principal components explain much of the variation. To keep the analysis within reasonable bounds it makes sense to select the first four principle components (this choice may change according to the analysis).

    var_exp <- var_exp_tidy %>%
      head(4)

Plot the variance explained and the cumulative variance explained to see trends across components.

    var_exp %>%
      dplyr::rename(
        `Variance Explained` = var_exp,
        `Cumulative Variance Explained` = cum_var_exp
      ) %>%
      tidyr::gather(key = key, value = value, `Variance Explained`:`Cumulative Variance Explained`) %>%
      ggplot2::ggplot(ggplot2::aes(pc, value, group = key)) +
      ggplot2::geom_point() +
      ggplot2::geom_line() +
      ggplot2::facet_wrap(~key, scales = "free_y") +
      ggplot2::theme_minimal() +
      ggplot2::lims(y = c(0, 1)) +
      ggplot2::labs(y = "Variance",
           title = "Variance explained by each principal component")

## Conclusions

Quantitative ethnobotany offers a way to study the use and importance of plants in human cultures, using statistical and analytical methods to quantify and interpret data. This approach can be useful in a variety of contexts, including understanding the cultural and ecological significance of plant species, evaluating the impact of human activities on plant communities, and conserving plant biodiversity.

One of the main benefits of quantitative ethnobotany is that it allows researchers to rigorously and systematically analyze and interpret data, providing more reliable and objective insights into the role of plants in different cultural and ecological settings. By using standardized methods and statistical analyses, researchers can more accurately compare and contrast the importance of different plant species and evaluate the significance of their findings.

In addition, the development of a set of standard practices and guidelines for quantitative ethnobotany can be helpful for the field in several ways. First, standard practices can help to ensure the reliability and validity of research findings, by providing a consistent and transparent approach to data collection, analysis, and interpretation. Second, standard practices can facilitate the sharing and dissemination of research findings, by providing a common language and framework for communication and collaboration among researchers. Finally, standard practices can help to advance the field of ethnobotany by promoting the use of rigorous and transparent methods, and by encouraging the development of new and innovative approaches to understanding the role of plants in human cultures.

## Acknowledgements

This work was written and formatted using the handy tools provided by the `knitr` package (Xie 2025).

## References

Albuquerque, Ulysses Paulino, Patricia Muniz de Medeiros, Washington Soares Ferreira Júnior, 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, February. https://doi.org/10.1007/s13752-019-00316-8.
Albuquerque, Ulysses P., Reinaldo FP Lucena, Júlio M. Monteiro, Alissandra TN Florentino, and Cecília de Fátima CBR Almeida. 2006. “Evaluating Two Quantitative Ethnobotanical Techniques.” Ethnobotany Research and Applications 4: 51–60. https://doi.org/http://hdl.handle.net/10125/237.
Albuquerque, UP de, and J. A. Hurrell. 2010. “Ethnobotany: One Concept and Many Interpretations.” Albuquerque U, Hanazaki N: Recent Developments and Case Studies in Ethnobotany, 87–99.
Bache, Stefan Milton, and Hadley Wickham. 2025. Magrittr: A Forward-Pipe Operator for r. https://magrittr.tidyverse.org.
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. https://pubmed.ncbi.nlm.nih.gov/3747566/.
Gu, Zuguang. 2025. Circlize: Circular Visualization. https://github.com/jokergoo/circlize.
Mon, Aye Mya, Yinxian Shi, Xuefei Yang, Pyae Phyo Hein, Thaung Naing Oo, Cory Whitney, and Yongping Yang. 2020. “The Uses of Fig (Ficus) by Five Ethnic Minority Communities in Southern Shan State, Myanmar.” Journal of Ethnobiology and Ethnomedicine 16 (5). https://doi.org/10.1186/s13002-020-00406-z.
Oksanen, Jari, Gavin L. Simpson, F. Guillaume Blanchet, Roeland Kindt, Pierre Legendre, Peter R. Minchin, R. B. O’Hara, et al. 2025. Vegan: Community Ecology Package. https://vegandevs.github.io/vegan/.
Prance, G. T., W. Baleé, B. M. Boom, and R. L. Carneiro. 1987. “Quantitative Ethnobotany and the Case for Conservation in Amazonia.” Conservation Biology 1 (4): 296–310.
R Core Team. 2025. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation for Statistical Computing. https://www.R-project.org/.
Reyes-García, 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.
Robinson, David, Alex Hayes, Simon Couch, and Emil Hvitfeldt. 2026. Broom: Convert Statistical Objects into Tidy Tibbles. https://broom.tidymodels.org/.
Tabuti, John Robert Stephen, Esther Patricia Adoch, Christopher Mawa, and Cory Whitney. 2022. “Priority Species and Management Approaches for Woody Species: A Case Study of Awach Sub-County, Gulu District, Uganda.” Human Ecology, November. https://doi.org/10.1007/s10745-022-00360-2.
Tardío, 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. 2026. ethnobotanyR: Ethnobotanical Analysis, Decision-Framing, and TEK Modeling. https://CRAN.R-project.org/package=ethnobotanyR.
Whitney, Cory, 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, Kirill Müller, and Davis Vaughan. 2026. Dplyr: A Grammar of Data Manipulation. https://dplyr.tidyverse.org.
Wickham, Hadley, and Lionel Henry. 2026. Purrr: Functional Programming Tools. https://purrr.tidyverse.org/.
Wickham, Hadley, Davis Vaughan, and Maximilian Girlich. 2025. Tidyr: Tidy Messy Data. https://tidyr.tidyverse.org.
Wilke, Claus O. 2025. Cowplot: Streamlined Plot Theme and Plot Annotations for Ggplot2. https://wilkelab.org/cowplot/.
Xie, Yihui. 2025. Knitr: A General-Purpose Package for Dynamic Report Generation in r. https://yihui.org/knitr/.

1. Please remember to cite this package if you use it in your publications. Use the R command `citation("ethnobotanyR")` to get the citation to the your loaded version of the package.↩︎

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