Learn R Programming

OnomasticDiversity (version 0.1)

fMenhinick: Calculate the Menhinick's diversity index

Description

This function obtains the Menhinick's diversity index introduced by Edward F. Menhinick. It is a method for quantifying species biodiversity that can be adapted to the context of onomastic.

Usage

fMenhinick(x, s, n, location)

Value

A dataframe containing the following components:

location

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

menhinick

the value of the Menhinick's diversity index.

Arguments

x

dataframe which contains the number of species and population for each location.

s

name of a variable which represents number of species.

n

name of a variable which represents total number of individuals.

location

name of a variable which represents represents the grouping element.

Author

Maria Jose Ginzo Villamayor

Details

For a community \(i\), the Menhinick's diversity index is defined by \(R_2 = \frac{s_i}{\sqrt{N_i}}\), where \(s_i\) represents the number of species (richness) and \(N_i\) represents the total number of individuals in all \(s_i\).

In onomastic context, \(N_i\) denotes the number of individuals in region (\(\approx\) community diversity context) \(i\) and \(s_i\) represents the total number of surnames.

References

Menhinick E.F. (1964) A comparison of some species-individuals diversity indices applied to samples of field insects. Ecology, 45, 859--861.

See Also

fMargalef, fPielou, 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 = fMenhinick(x= apes2, s="ni", n="population",
location  = "muni")
result

data(namesmengal16)

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

result = fMenhinick(x= names2, s="ni", n="population",
location  = "muni")
result

data(nameswomengal16)

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

result = fMenhinick(x= names2, s="ni", n="population",
location  = "muni")
result

Run the code above in your browser using DataLab