Development


phylocurve R package versions

  • Current version: phylocurve 1.3.0 [source] [manual] [06/14/2015 - update notes]
  • Previous versions:
    phylocurve 1.0.0 [source] [manual] [03/18/2015 - update notes]
    phylocurve 0.1.1 [source] [manual] [02/28/2015 - update notes]

  • Update notes

    June 12, 2015 - Version 1.3.0 (also includes Version 1.1.0-1.2.0 updates)

    Verson 1.3.0.


    March 18, 2015 - Version 1.0.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)


    February 28, 2015 - Version 0.1.1

    Added a phylocurve Version 0.1.1 PDF manual. Also adjusted internal functions and package dependencies.


    February 27, 2015 - Version 0.1.0

    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)