Learn R Programming

OnomasticDiversity (version 0.1)

fPielou: Calculate the Pielou's diversity index

Description

This function obtains the Pielou's diversity index which is an index that measures diversity along with species richness introduced by Evelyn Chrystalla Pielou. It is a method for quantifying species biodiversity that can be adapted to the context of onomastic.

Usage

fPielou(x, k, n, location, s)

Value

A dataframe containing the following components:

location

represents the grouping element, for example the communities / regions.

pielou

the value of the Pielou's diversity index.

Arguments

x

dataframe of the data values for each species not null (because if you have a sample, there might be species that are not represented).

k

name of a variable which represents absolute frequency for each species.

n

name of a variable which represents total number of individuals.

location

represents the grouping element.

s

vector which represents number of species.

Author

Maria Jose Ginzo Villamayor

Details

For a community \(i\), the Pielou's diversity index is defined by \(J^{\prime} = \frac{H^{\prime}}{\log_2S_i}\), where \(H^{\prime}\) denotes the Shannon-Wiener index and \(\log_2S_i\) denotes the maximum diversity \(H^{\prime}_{\max}\). Pielou's index is the Shannon-Weiner index computed for the sample \(S_i\) and represents a measure of Evenness of the community. If all species are represented in equal numbers in the sample, then \(J^{\prime} = 1\). If one species strongly dominates \(J^{\prime}\) is close to zero.

In onomastic context, \(S_i\) are all surnames in region (\(\approx\) community diversity context) \(i\).

References

Pielou, E. C. (1966) The measurement of diversity in different types of biological collections. Journal of Theoretical Biology, 13, 131-144.

See Also

fMargalef, fMenhinick, fShannon, fSheldon, fSimpson, fSimpsonInf, fGeneralisedMean, fGeometricMean, fHeip.

Examples

Run this code
library(sqldf)
data(surnamesgal14)

apes2=sqldf('select  muni, count(surname) as ni,
sum(number) as population from surnamesgal14
group by muni;')

result = fPielou (x= surnamesgal14[surnamesgal14$number != 0,],
k="number", n="population", location  = "muni", s = apes2$ni )
result

data(namesmengal16)

names2=sqldf('select  muni, count(name) as ni,
sum(number) as population from namesmengal16
group by muni;')

result = fPielou (x= namesmengal16[namesmengal16$number != 0,],
k="number", n="population", location  = "muni", s = names2$ni )
result

data(nameswomengal16)

names2=sqldf('select  muni, count(name) as ni,
sum(number) as population from nameswomengal16
group by muni;')

result = fPielou (x= nameswomengal16[nameswomengal16$number != 0,],
k="number", n="population", location  = "muni", s = names2$ni )
result

Run the code above in your browser using DataLab