shannon.evaluate.core {EvaluateCore}R Documentation

Shannon-Weaver Diversity Index

Description

Compute the Shannon-Weaver Diversity Index (\(H'\)), Maximum diversity (\(H'_{max}\)) and Shannon Equitability Index (\(E_{H}\)) (Shannon and Weaver 1949) to compare the phenotypic diversity for qualitative traits between entire collection (EC) and core set (CS).

Usage

shannon.evaluate.core(data, names, qualitative, selected)

Arguments

data

The data as a data frame object. The data frame should possess one row per individual and columns with the individual names and multiple trait/character data.

names

Name of column with the individual names as a character string

qualitative

Name of columns with the qualitative traits as a character vector.

selected

Character vector with the names of individuals selected in core collection and present in the names column.

Details

Shannon-Weaver Diversity Index (\(H'\)) is computed as follows.

\[H' = -\sum_{i=1}^{k}p_{i}log(p_{i})\]

Where \(p_{i}\) denotes the proportion in the group \(k\).

The maximum value of the index (\(H'_{max}\)) is \(\ln(k)\). This value occurs when each group has the same frequency.

The Shannon equitability index (\(E_{H}\)) is the Shannon diversity index divided by the maximum diversity.

\[E_{H} = \frac{H}{\ln{(k)}}\]

Value

A data frame with the following columns.

Trait

The qualitative trait.

EC_H

The Shannon-Weaver Diversity Index (\(H'\)) for EC.

EC_H

The Shannon-Weaver Diversity Index (\(H'\)) for CS.

EC_Hmax

The Maximum diversity value (\(H'_{max}\)) for EC.

CS_Hmax

The Maximum diversity value (\(H'_{max}\)) for CS.

EC_EH

The Shannon Equitability Index (\(E_{H}\)) for EC.

CS_EH

The Shannon Equitability Index (\(E_{H}\)) for CS.

References

Shannon CE, Weaver W (1949). The Mathematical Theory of Communication, number v. 2 in The Mathematical Theory of Communication. University of Illinois Press.

See Also

shannon

Examples


####################################
# Use data from R package ccChooser
####################################

library(ccChooser)
data("dactylis_CC")
data("dactylis_EC")

ec <- cbind(genotypes = rownames(dactylis_EC), dactylis_EC[, -1])
ec$genotypes <- as.character(ec$genotypes)
rownames(ec) <- NULL
ec[, c("X1", "X6", "X7")] <- lapply(ec[, c("X1", "X6", "X7")],
                                    function(x) cut(x, breaks = 4))
ec[, c("X1", "X6", "X7")] <- lapply(ec[, c("X1", "X6", "X7")],
                                    function(x) factor(as.numeric(x)))
head(ec)

core <- rownames(dactylis_CC)

quant <- c("X2", "X3", "X4", "X5", "X8")
qual <- c("X1", "X6", "X7")

####################################
# EvaluateCore
####################################

shannon.evaluate.core(data = ec, names = "genotypes",
                      qualitative = qual, selected = core)



[Package EvaluateCore version 0.1.2 Index]