Verson 1.3.0.
Verson 1.0.0. Initial upload to CRAN. This version update implements covariance-based REML implementations of distance-based methods for assessing multivairate evolutionary rates, phylogenetic signal, and performing PGLS (Adams 2014a-c). NOTE: Not backward-compatible with versions 0.1.0 - 0.1.1.
New functions include sim.mult()
,
K.mult()
, rate.mult()
, compare.rate.mult()
, compare.multivar.rate.mult()
,
and pgls.mult()
. These functions can incorporate alternative evolutionary models, incorporate within-species variation, and allow missing data. These methods are appropriate for both function-valued and other high-dimensional multivariate traits (provided traits are appropriately aligned). Here's an example implementing the new functions incorporating within-species variation, and missing data.
data <- sim.mult(nspecies = 50,R = diag(5),error = rep(1,5),nreps = 5,nmissing = 100,seed = 1)
rate.mult.fitted <- rate.mult(tree = data$tree,Y = data$Y_raw,type = "mult",error = "estimate")
groups <- setNames(factor(c(rep("a",25),rep("b",25)),levels=c("a","b")),nm = data$tree$tip.label)
# Compare evolutionary rates on the tree
compare.rate.mult(rate.mult.fitted = rate.mult.fitted,groups = groups)
# Multivariate phylogenetic signal
K.mult(rate.mult.fitted)
# Multivariate PGLS
require(phytools)
X <- as.matrix(fastBM(data$tree))
pgls.mult(rate.mult.fitted = rate.mult.fitted,X = X)
# To compare rate among trait dimensions, the null hypothesis was stored above in rate.mult.fitted
# Suppose we want to test an alternative hypothesis that dimensions 1:3 evolve under a different rate than 4:5
alt1 <- rate.mult(data$tree,Y = data$Y_raw[,c(1,2:4)],type = "mult",error = "estimate")
alt2 <- rate.mult(data$tree,Y = data$Y_raw[,c(1,5:6)],type = "mult",error = "estimate")
alt_list <- list(alt1,alt2)
compare.multivar.rate.mult(null_model = rate.mult.fitted,alt_model_list = alt_list)
Added a phylocurve Version 0.1.1 PDF manual. Also adjusted internal functions and package dependencies.
Initial launch of phylocurve R package. Included functions are simcurves
, get_tip_coefficients
, phylocurve
, phylocurve.pgls
, and phylocurve.signal
. Here's some example code to demonstrate basic functionality:
require(phylocurve)
require(phytools)
# simulate evolution of a function-valued trait (glm with logit link)
sim_data <- simcurves()
# ancestral curve reconstruction
anc_recon <- phylocurve(formula = y~x,tree = sim_data$tree,data = sim_data$data)
# estimate phylogenetic signal
phylocurve.signal(tip_coefficients = anc_recon$tip_coefficients,tree = sim_data$tree)
# assess correlated trait evolution with a univariate trait
X <- fastBM(sim_data$tree)
phylocurve.pgls(tip_coefficients = anc_recon$tip_coefficients,univariate_trait = X,tree = sim_data$tree)