I'm in the process of submitting a new version of phytools to CRAN. This update will have package version
>=0.6-00. The last CRAN phytools verison is
0.5-64 and the present version
has many updates relative to this prior CRAN version which was released near the beginning of December of
phytools is a fairly widely used R phylogenetics package that presently shows nearly 1,100 citations on Google Scholar (Mar. 28, 2017).
While it awaits approval, note that it is always possible to obtain the latest non-CRAN phytools version
from GitHub using
Here is an abbreviated list of some of the updates from the previous CRAN version of the package:
- A new option to permit custom
color palettes in
- A fix
phylomorphospace3d(noted in the comments) to permit a static 3D phylomorphospace plot to be created without tip labels.
- A simple but
as.multiPhylomethod for objects of class
plotmethods for the
"phyl.RMA"object class produced by phylogenetic RMA, e.g.:
library(phytools) obj<-phyl.RMA(x,y,tree) obj
## ## Coefficients: ## (Intercept) x ## -0.2217216 1.0878042 ## ## VCV matrix: ## x y ## x 1.605286 1.394110 ## y 1.394110 1.899564 ## ## Model for the covariance structure of the error is "BM" ## ## Estimates (or set values): ## lambda log(L) ## 1.00000 -60.71938 ## ## Hypothesis test based on Clarke (1980; Biometrika): ## r2 T df P ## 0.637365 0.684671 20.199986 0.501332 ## ## Note that the null hypothesis test is h0 = 1
- A bunch of new options for
plotTree.barplot, including stacked bars.
- A bug fix
- A completely new function,
ratebytree, to compare the rate of evolution of a continuous trait between 2 or more phylogenies (1, 2, 3, 4). E.g.:
ylim<-range(X) par(mfrow=c(1,3)) phenogram(trees[],X[],ylim=ylim,spread.cost=c(1,0)) phenogram(trees[],X[],ylim=ylim,spread.cost=c(1,0)) phenogram(trees[],X[],ylim=ylim,spread.cost=c(1,0))
## ML common-rate model: ## s^2 a a a k logL ## value 1.2487 0.6393 0.5213 -0.7999 4 -71.0761 ## ## ML multi-rate model: ## s^2 s^2 s^2 a a a k logL ## value 0.425 1.747 1.1623 0.6393 0.5213 -0.7999 6 -68.3276 ## ## Likelihood ratio: 5.497 ## P-value (based on X^2): 0.064 ## ## R thinks it has found the ML solution.
- A new option
to plot up or down facing trees in
phytools::plotSimmap(as well as in a number of the functions that use
- The option to plot
& down facing
- Some neat functionality for interactive node labeling (more here).
- Another new function,
errorbar.contMap, to add colorful error bars to internal nodes of a plotted
"contMap"object (1, 2, 3), e.g.:
obj<-contMap(tree,y,lims=c(-3.75,4.5),plot=FALSE) plot(obj,xlim=c(-0.05,2),legend=1) errorbar.contMap(obj,scale.by.ci=TRUE)
- Another totally new function,
plotTree.errorbars, to plot a tree with semi-transparent error bars on the ages of internal nodes (1, 2).
- A new function,
pgls.SEy, to conduct phylogenetic generalized least squares regression (or any linear modeling) while taking into account known errors in y (1, 2).
- An important bug
fix for a non-flat prior probability distribution on the global root state in the function
make.simmapfor stochastic character mapping.
- A simple difference equation approximation OU simulation function, to simulate Ornstein-Uhlenbeck evolution on the tree for multiple optima (more here).
- A small update to
plotTree.singletonsto assign the environmental variable
"last_plot.phylo"allowing this function to work with others designed to annotate plotted trees, such as
- A simple fix
to the S3
"phyl.pca"class objects from phylogenetic principal components analysis.
- A cool new plotting
arc.cladelabels, to add clade labels to a plotted fan-style circular tree.
- Today I
added a new function,
force.ultrametric, that forces (by multiple methods) an ultrametric tree that fails
ape::is.ultrametric(due to numerical precision issues) to be precisely ultrametric.
- Finally, I pushed a whole bunch of updates to the help pages of the package. It’s not glamorous, but it was overdue!
I'll be working on getting this package version up on CRAN today - and will post an update when it is accepted.