| fMargalef {OnomasticDiversity} | R Documentation |
Calculate the Margalef's diversity index
Description
This function obtains the Margalef's diversity index which is a species diversity index developed by Ramon Margalef Lopez during the 1950s. It is a method for quantifying species biodiversity that can be adapted to the context of onomastic.
Usage
fMargalef(x, s, n, location)
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. |
Details
For a community i, the Margalef's diversity index is defined by
R_1 = \frac{S_i-1}{\ln(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.
Value
A dataframe containing the following components:
location |
represents the grouping element, for example the communities / regions. |
margalef |
the value of the Margalef's diversity index. |
Author(s)
Maria Jose Ginzo Villamayor
References
Margalef D.R., (1958), Information theory in ecology. International Journal of General Systems, 3, 36–71.
See Also
fMenhinick,
fPielou,
fShannon,
fSheldon,
fSimpson,
fSimpsonInf,
fGeneralisedMean, fGeometricMean,
fHeip.
Examples
library(sqldf)
data(surnamesgal14)
apes2=sqldf('select muni, count(surname) as ni,
sum(number) as population from surnamesgal14
group by muni;')
result = fMargalef (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 = fMargalef (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 = fMargalef (x= names2, s="ni", n="population", location = "muni")
result