Learn R Programming

spider (version 1.2-0)

nonConDist: Nearest non-conspecific and maximum intra-specific distances

Description

These functions give the distances to the nearest non-conspecific and furthest conspecific representatives for each individual in the dataset.

Usage

nonConDist(distobj, sppVector, propZero = FALSE, rmNA = FALSE)
maxInDist(distobj, sppVector, propZero = FALSE, rmNA = FALSE)

Arguments

distobj
Distance matrix.
sppVector
Species vector (see sppVector). Default of NULL.
propZero
Logical. TRUE gives the proportion of zero distances.
rmNA
Logical. TRUE ignores missing values in the distance matrix. Default of FALSE

Value

  • If propZero=FALSE, a numeric vector giving the distance of the closest non-conspecific individual (nonConDist) or the most distant conspecific individual (maxInDist).

    If propZero=TRUE, a single number giving the proportion of zero distances.

Details

nonConDist returns the minimum inter-specific distance for each individual.

maxInDist returns the maximum intra-specific distance for each individual.

These two functions can be used to create a version of the barcoding gap.

Examples

Run this code
data(anoteropsis)
anoDist <- dist.dna(anoteropsis)
anoSpp <- sapply(strsplit(dimnames(anoteropsis)[[1]], split="_"), 
    function(x) paste(x[1], x[2], sep="_"))

nonConDist(anoDist, anoSpp)
nonConDist(anoDist, anoSpp, propZero=TRUE)

maxInDist(anoDist, anoSpp)
maxInDist(anoDist, anoSpp, propZero=TRUE)

#Barcoding gap
inter <- nonConDist(anoDist, anoSpp)
intra <- maxInDist(anoDist, anoSpp)
hist(inter-intra)

#An alternative way of plotting the gap
bnd <- cbind(data.frame(inter, intra))
ord <- bnd[order(bnd$inter),]
plot(ord$inter, type="n", ylab="Percent K2P distance", xlab="Individual")
segCol <- rep("gray50", length(ord$inter))
segCol[ord$inter-ord$intra < 0] <- "red"
segments(x0=1:length(ord$inter), y0=ord$inter, y1=ord$intra, col=segCol, lwd=6)

Run the code above in your browser using DataLab