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