Learn R Programming

MCPAN (version 1.1-21)

Shannonci: Confidence intervals for multiple contrasts of Shannon indices

Description

Calculates simultaneous and local confidence intervals for differences of Shannon indices under the assumption of multinomial count data.

Usage

Shannonci(X, f, cmat = NULL, type = "Dunnett", alternative = "two.sided",
 conf.level = 0.95, dist = "MVN", …)

Arguments

X

a data.frame of dimensions n times p with integer entries, where n is the number of samples and p is the number of species

f

a factor variable of length n, grouping the observations in X

cmat

an contrast matrix; the number of columns should match the number of levels in f

type

a single character string, currently one of "Dunnett","Tukey","Sequen"

alternative

a single character string, one of "two.sided","less" (upper bounds),"greater" (lower bounds)

conf.level

the confidence level of the simultaneous (or local) confidence intervals

dist

a single character string, defining the type of quantiles to be used for interval calculation; "MVN" invokes simultaneous intervals, "N" invokes unadjusted confidence intervals with coverage probability conf.level for each of them

further arguments to be passed; currently only base is used, a single integer value, specifying which group to be taken as the control in case that type="Dunnett", ignored otherwise

Value

A list containing the elements:

conf.int

a matrix, containing the lower and upper confidence limits in the columns

quantile

a single numeric value, the quantile used for interval calculation

estimate

a matrix,containing the point estimates of the contrasts in its column

cmat

the contrast matrix used

methodname

a character string, for printing

sample.estimate

A list of sample estimates as returned by estShannonf

and some of the input arguments

Details

This function implements confidence intervals described by Fritsch and Hsu (1999) for the difference of Shannon indices between several groups. Deviating from Fritsch and Hsu, quantiles of the multivariate normal distribution based on a plug-in-estamator for the correlation matrix.

Note, that this approach, by assuming multinomial distribution for the vectors of counts, ignores the variability of the individual samples. If such extra-multinomial variatio is present in the data, the intervals will be too narrow, coverage probability will be substantially lower than specified in 'conf.level'. Consider approaches based on bootstrap instead (e.g., package simboot).

References

Fritsch, KS, and Hsu, JC (1999): Multiple Comparison of Entropies with Application to Dinosaur Biodiversity. Biometrics 55, 1300-1305. Scherer, R, Schaarschmidt, F, Prescher, S, and Priesnitz, KU (2013): Simultaneous confidence intervals for comparing biodiversity indices estimated from overdispersed count data. Biometrical Journal 55,246-263.

See Also

Simpsonci for simultaneous and local intervals of differences of the Simpson index

Examples

Run this code
# NOT RUN {

data(HCD)

HCDcounts<-HCD[,-1]
HCDf<-HCD[,1]

# Comparison to the confidence bounds shown in
# Fritsch and Hsu (1999), Table 5, "Standard normal".

cmat<-rbind(
"HM-HU"=c(0,1,-1),
"HL-HM"=c(1,-1,0),
"HL-HU"=c(1,0,-1)
)

Shannonci(X=HCDcounts, f=HCDf, cmat=cmat,
 alternative = "two.sided", conf.level = 0.9, dist = "N")

# Note, that the calculated confidence intervals
# differ from those published by Fritsch and Hsu (1999),
# whenever Lower is involved.



# Comparison to the lower cretaceous,
# unadjusted confidence intervals:

Shannonci(X=HCDcounts, f=HCDf, type = "Dunnett",
 alternative = "greater", conf.level = 0.9, dist = "N")

# Stepwise comparison between the strata,
# unadjusted confidence intervals:

ShannonS<-Shannonci(X=HCDcounts, f=HCDf, type = "Sequen",
 alternative = "greater", conf.level = 0.9, dist = "N")


ShannonS

summary(ShannonS)

plot(ShannonS)


# A trend test based on multiple contrasts:

cmatTREND<-rbind(
"U-LM"=c(-0.5,-0.5,1),
"MU-L"=c(-1,0.5,0.5),
"U-L"=c(-1,0,1)
)

TrendCI<-Shannonci(X=HCDcounts, f=HCDf, cmat=cmatTREND,
 alternative = "greater", conf.level = 0.95, dist = "MVN")
TrendCI

plot(TrendCI)



  
# }

Run the code above in your browser using DataLab