You are on page 1of 17

1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

Quantitative ethnobotany analysis with


ethnobotanyR
Cory Whitney

The ethnobotanyR package calculates common quantitative ethnobotany


indices 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 calculate quantitative
ethnobotany indices. Users are highly encouraged to familiarize themselves
with ethnobotany theory (Gaoue et al. 2017; 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.
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 package 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.

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 1/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR
u i
NC N

U Rs = U Rui
∑ ∑
u=u1 i=i1

URs() calculates the total uses for the species by all informants (from to i N ) within each use-category for
i1

that species (s) . It is a count of the number of informants who mention each use-category N C for the
species and the sum of all uses in each use-category (from u1 to u N C ) (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.
u i
NC N

CI s = U Rui/N .
∑ ∑
u=u1 i=i1

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.
i
N

F Cs = U Ri

i=i1

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

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 2/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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.
u
NC

N Us =

u=u1

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.
i
N

F Cs ∑ U Ri
i=i1
RF Cs = =
N N

F Cs is the frequency of citation for each species s , U Ri 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.

RF Cs(max) + RN Us(max)
RI s =
2

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 3/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

RF Cs(max)is the relative frequency of citation for the species s over the maximum, RN Us(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.
i u
N NC

U Vs = U Rui/N
∑ ∑
i=i1 u=u1

UVs() is essentially the same as CIs() except that it starts with the sum of UR groupings by informants. Ui 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.

U Vs = Ui /N

Ui 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 CVe is the most commonly used from that study (Reyes-Garcia et
al. 2006).

CVe = U ce ⋅ I Ce ⋅ I U ce

Where U Ce is the number of uses reported for ethnospecies e divided by all potential uses of an
ethnospecies considered in the study. I ce expresses the number of informants who listed the ethnospecies e
as useful divided by the total number of informants. I U ce 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).

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 4/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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 all plants.

Ns ∗ 100
F Ls =
F Cs

where Ns is the number of informants that use a particular plant for a specific purpose, and F Cs is the total
number of uses 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

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 5/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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)

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 6/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 7/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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

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

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 8/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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)

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 9/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

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

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 10/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

Confidence in responses

The indices are probably too narrow a tool for a proper assessment but they can be a useful entry way into
understanding some aspects human and nature interactions. These 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.
One such procedure is the non-parametric Bayesian bootstrap. The ethno_boot function runs such a
bootstrap and returns a sample of size ‘n1’ representing the posterior distribution of the chose statistic
(i.e. ‘mean’).
The function uses the Dirichlet distribution as a way to model the randomness of a probability mass function
(PMF) with unlimited options for finite sets (e.g. an unlimited amount of dice in a bag). It is the conjugate prior
of the categorical distribution and multinomial distribution.

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 11/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

A probability mass function (PMF) is also called a frequency function, it gives probabilities for random
variables that are discrete such as UR (there can be only 1 or 0 UR, this also works for discrete counts like
plant uses where there can only be max ‘n’ people interviewed).
The Dirichlet distribution creates n positive numbers (a set of random vectors X1…Xn) that add up to 1. It is
closely related to the multinomial distribution, which also requires n numbers that sum to 1.
Here we are interested in the differences in use (either ‘0’ no use, or ‘1’ use) between species ‘a’ and species
‘b’.

sp_a_data <- ethnobotanydata %>% filter(sp_name == "sp_a")

sp_a_use <- ethno_boot(sp_a_data$Use_3, statistic = mean, n1 = 1000)

sp_b_data <- ethnobotanydata %>% filter(sp_name == "sp_b")

sp_b_use <- ethno_boot(sp_b_data$Use_3, statistic = mean, n1 = 1000)

We can calculate the 90% credible interval to determine the lower bound of 0.27 and upper bound of 0.64 for
species ‘a’ and 0.11 and upper bound of 0.43 for species ‘b’.

quantile(sp_a_use, c(0.05, 0.95))


#> 5% 95%
#> 0.26600 0.63605
quantile(sp_b_use, c(0.05, 0.95))
#> 5% 95%
#> 0.1080 0.4281

Running ethno_boot returns a posterior distribution of the result. Plotting these can give some visual
probability estimation of differences between the species or informants according to the various indices.
Create a data frame and use the melt function to reshape data for the ggplot2 plotting functions.

boot_data <- data.frame(sp_a_use, sp_b_use)

ethno_boot_melt <- reshape2::melt(boot_data)


#> No id variables; using all as measure variables

Use the ggplot2 and ggridges libraries to plot the data as smooth histograms.

ggplot2::ggplot(ethno_boot_melt, aes(x = value,


y = variable, fill = variable)) +
ggridges::geom_density_ridges() +
ggridges::theme_ridges() +
theme(legend.position = "none") +
labs(y= "", x = "Example Bayesian bootstraps of three use categories")
#> Picking joint bandwidth of 0.0235

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 12/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

The ethno_bayes_consensus function is inspired by AnthroTools package (Lane and Purzycki. 2016). It gives
us a measure of the confidence we can have in the reported uses by creating a matrix of probability values.
These represent the probability that informant citations for a given use are ‘correct’ (see Oravecz,
Vandekerckhove, and Batchelder 2014; Romney, Weller, and Batchelder 1986).
The inputs to the function are informant responses to the use category for each plant, an estimate of
informant’s with the plant, and the number of possible answers. This can be calculated with URsum or given as
a value.
Depending on the size of the data this function can return a rather large set of probabilities. There are several
ways to perform simple visualizations of these probabilities. Here we use the base R function heatmap (R Core
Team 2019) and the the dplyr functionfilter (Wickham et al. 2019) to subset to a single species and create
a ridge plot.

ethno_sp_a <- dplyr::filter(ethnobotanydata, sp_name == "sp_a")

Generate prior probabilities for all answers as a matrix. If this is not provided the function assumes a uniform
distribution (prior = -1). The probability table should have the same number of columns as uses in the
provided ethnobotany data and the same number of rows as there are possible answers for the consensus.
First we set the number of possible answers to ‘2’. This means informants can either agree it is ‘used’ or ‘not
used’.

answers <- 2

It is also possible to build the probability table manually using prop.table (R Core Team 2019). This can be
easier if there are many answers or if there is not always a clear preference about where the higher probability
should be for the various answers. This matrix must sum up to 100% chance for either ‘use’ or ‘no use’.
Here we use the dplyr function recode to reset the informant name factor variable as numeric (Wickham et al.
2019). This way we can set a prior for the informants skill for the prior_for_answers input. Assuming that
informants have a varying degree of skill that we can assign as a prior for the likelihood that the data we have
are correct for sp_a.
https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 13/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

ethno_compet_sp_a <- dplyr::recode(ethno_sp_a$informant,


inform_a = 0.9,inform_b = 0.5,inform_c = 0.5,
inform_d = 0.9, inform_e = 0.9, inform_f = 0.5,
inform_g = 0.7,inform_h = 0.5,inform_i = 0.9,
inform_j= 0.9, inform_eight = 0.9,inform_five = 0.6,
inform_four = 0.5,inform_nine = 0.9,
inform_one = 0.5, inform_seven = 0.5,
inform_six= 0.9, inform_ten = 0.9,
inform_three = 0.9, inform_two = 0.5)

Run the ethno_bayes_consensus function on the subset data of sp_a.

ethno_sp_a_bayes <- ethnobotanyR::ethno_bayes_consensus(ethno_sp_a,


answers = 2,
#here we keep the default normal distribution with `prior = -1`
prior_for_answers = ethno_compet_sp_a)

Create a simple heatmap of the results. The heatmap function in R (R Core Team 2019) provides a good initial
assessment of the results and can be a nice first look at the probability matrix that comes out of the
ethno_bayes_consensus function. It includes the hclust hierarchical cluster analysis using euclidean distance
for relationships among both the answers and the uses. This may be useful for looking for similarities among
a number of uses or possible answers when there are more than just ‘use’ and ‘non use’ (see below).

heatmap(ethno_sp_a_bayes)

Here the ‘1’ and ‘2’ represent ‘use’ and ‘no use’ (y-axis). The colors are the probabilities (darker is greater).
The hclust for these is not very informative since there are only 2. However, the hclust for the various uses
(x-axis) might be helpful in thinking about how the strength of the information about different use categories
for sp_a are grouped together.

Richer response data

Users often have a large number of counts in cells of the data set after categorization (i.e one user cites ten
different ‘food’ uses but this is just one category). Let’s say that the theoretical maximum number of use

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 14/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

reports in one category, for one species by one informant is 10. It may be useful to work with these richer
datasets for the Bayes consensus analysis. The ggplot2 and ggridges libraries can be used to plot the data
as smooth histograms. Here we generate some ethnobotany data with up to 10 citations in a single use
category for a species by one informant.

set.seed(123) #make random number reproducible


ethno_sp_a_rich <- data.frame(replicate(3,sample(0:10,20,rep=TRUE)))
names(ethno_sp_a_rich) <-
gsub(x = names(ethno_sp_a_rich),
pattern = "X", replacement = "Use_")
ethno_sp_a_rich$informant <- sample(c('User_1', 'User_2'),
20, replace=TRUE)
ethno_sp_a_rich$sp_name <- sample(c('sp_a'),
20, replace=TRUE)

Define the prior_for_answers of the data from these new informants in the simulated ethnobotany data. With
User_1 we have high confidence because perhaps we gather this information through ‘walk in the woods’ or
another method we feel good about. With User_2 we assign less confidence. Maybe did our work in a rush or
gathered in another way that gives us less confidence.

ethno_compet_sp_a_rich <-
dplyr::recode(ethno_sp_a_rich$informant,
User_1 = 0.9, User_2 = 0.5)

We keep a normal prior for the data and the knowledge of the informants.

ethno_sp_a_bayes <- ethnobotanyR::ethno_bayes_consensus(ethno_sp_a_rich,


answers = 10,
prior_for_answers = ethno_compet_sp_a_rich,
prior=-1) #keep a normal prior in this example with -1

Create a data frame and melt for the ggplot2 plotting functions.

ethno_sp_a_bayes_melt <- ethno_sp_a_bayes %>%


as.data.frame() %>%
reshape2::melt()
#> No id variables; using all as measure variables

Use the ggplot2 and ggridges libraries to plot the data as smooth histograms.

ggplot2::ggplot(ethno_sp_a_bayes_melt, aes(x = value,


y = variable, fill = variable)) +
ggridges::geom_density_ridges() +
ggridges::theme_ridges() +
theme(legend.position = "none")+
labs(y= "", x = "Example ethno_bayes_consensus of use categories for sp_a")
#> Picking joint bandwidth of 0.00853

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 15/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

Visualizing the variation in outcomes can be useful for assessing the amount of confidence we have in the
cultural use of the plant across categories.

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.
Gaoue, Orou G., Michael A. Coe, Matthew Bond, Georgia Hart, Barnabas C. Seyler, and Heather McMillen.
2017. “Theories and Major Hypotheses in Ethnobotany.” Economic Botany 71 (3): 269–87.
https://doi.org/10.1007/s12231-017-9389-8.
Gu, Zuguang, Lei Gu, Roland Eils, Matthias Schlesner, and Benedikt Brors. 2014. “Circlize Implements and
Enhances Circular Visualization in R.” Bioinformatics 30 (19): 2811–2.
Lane, Alastair Jamieson, and Benjamin Grant Purzycki. 2016. AnthroTools: Some Custom Tools for
Anthropology.

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 16/17
1/11/2021 Quantitative ethnobotany analysis with ethnobotanyR

Oravecz, Zita, Joachim Vandekerckhove, and William H. Batchelder. 2014. “Bayesian Cultural Consensus
Theory.” Field Methods 26 (3): 207–22. https://doi.org/10.1177/1525822X13520280.
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.
R Core Team. 2019. R: A Language and Environment for Statistical Computing. Vienna, Austria: R Foundation
for Statistical Computing. https://www.R-project.org/.
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.
Romney, A. Kimball, Susan C. Weller, and William H. Batchelder. 1986. “Culture as Consensus: A Theory of
Culture and Informant Accuracy.” American Anthropologist 88 (2): 313–38.
https://www.jstor.org/stable/677564.
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.↩

https://cran.r-project.org/web/packages/ethnobotanyR/vignettes/ethnobotanyr_vignette.html 17/17

You might also like