Age-Range Correlation

Description

This function can be used to test for phylogenetic signal in patterns of niche overlap (Warren et al., 2008) based on the age-range correlation (ARC) as implemented by Turelli & Fitzpatrick (2006).

Usage

1
age.range.correlation(phy, overlap, tri = "upper", n = 10000)

Arguments

phy

an object of class "phylo", which must be ultrametric.

overlap

a matrix of class "niolap", containing pairwise measures of niche overlap as produced by niche.overlap.

tri

either "upper" or "lower", indicating which triangle of the overlap matrix to use (see niche.overlap).

n

an integer giving the number of iterations for the Monte Carlo resampling procedure.

Details

In age-range correlation (ARC; sensu Fitzpatrick & Turelli 2006), phylogentic relationships are taken into account when computing average range (or niche) overlap between two clades at node i by

o(i) = sum( over j) sum(over k) 0.5^(n(ik) - 1) * o(jk)

where the double sum is over all species in the two clades, o(jk) denotes the overlap between species j and k, and n(jk) is the number of nodes separating the two species on the phylogeny. Plotting o(i) against node ages depicts the ARC for a given clade. Slopes and intercept derived from a linear model can be used to characterize speciation mode (allopatric versus sympatric) or niche evolution (conservatism versus flexibility) in the clade (see Fitzpatrick & Turelli [2006] and Warren et al. [2008], respectively).

The significance of the ARC is assessed via Monte Carlo simulation by random permutation of the overlap matrix to estimate the distribution of slope and intercept unter the null hypothesis of no phylogenetic signal.

Value

A list of four elements:

age.range.correlation

A matrix with age and average overlap for each node.

linear.regression

A linear model of mean niche (or range)overlap versus node age.

sig

Significance of intercept and slope derived by randomization. f is the fraction of randomized datasets with intercept and slopes greater than the observed data. p-values are calculated as 2 * min(f, 1 - f).

MonteCarlo.replicates

A matrix containing intercepts and slopes of randomized datasets.

Author(s)

Christoph Heibl

References

Fitzpatrick, B.M & Turelli, M. 2006. The geography of mammalian speciation: mixed signals from phylogenies and range maps. Evolution 60: 601-615.

Warren, D., R.E. Glor, & M. Turelli. 2008. Environmental niche equivalency versus conservatism: quantitative approaches to niche evolution. Evolution 62: 2868-2883.

See Also

niche.overlap

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
# load PNOs for Oxalis sect. Palmatifoliae ...
data(PNO)

# ... and calculate niche overlap between species
no <- niche.overlap(PNO$AnnualMeanTemperature)

# load phylogeny and PNOs of Oxalis sect. Palmatifoliae
data(tree)

# age-range correlation
x <- age.range.correlation(phy = tree, overlap = no, n = 100)

# plot average niche overlap versus node age
plot(x$age.range.correlation)

# add a regression line
abline(x$linear.regression$coefficients)

# add regression lines from Monte Carlo randomization
apply(x$MonteCarlo.replicates, 1, abline, lwd = 0.2, col = "grey50")