I'm in the process of submitting a new version of phytools to CRAN. This update will have package version
number `>=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
last year.

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 `devtools::install_github`

.

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
`plotBranchbyTrait`

. - A fix
to
`phylomorphospace3d`

(noted in the comments) to permit a static 3D phylomorphospace plot to be created without tip labels. - A simple but
handy S3
`as.multiPhylo`

method for objects of class`"phylo"`

. - S3
`print`

,`coef`

,`residuals`

, and`plot`

methods 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
```

```
plot(obj)
```

- A bunch of new options for
`plotTree.barplot`

, including stacked bars. - A bug fix
for
`write.simmap`

with`"multiSimmap"`

objects. - 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[[1]],X[[1]],ylim=ylim,spread.cost=c(1,0))
phenogram(trees[[2]],X[[2]],ylim=ylim,spread.cost=c(1,0))
phenogram(trees[[3]],X[[3]],ylim=ylim,spread.cost=c(1,0))
```

```
ratebytree(trees,X)
```

```
## ML common-rate model:
## s^2 a[1] a[2] a[3] k logL
## value 1.2487 0.6393 0.5213 -0.7999 4 -71.0761
##
## ML multi-rate model:
## s^2[1] s^2[2] s^2[3] a[1] a[2] a[3] 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`plotSimmap`

internally). - The option to plot
up
& down facing
`"contMap"`

&`"densityMap"`

objects. - 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.simmap`

for 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.singletons`

to assign the environmental variable`"last_plot.phylo"`

allowing this function to work with others designed to annotate plotted trees, such as`ape::nodelabels`

. - A simple fix
to the S3
`plot`

method for`"phyl.pca"`

class objects from phylogenetic principal components analysis. - A cool new plotting
function,
`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.

Already on CRAN - though binaries yet to be built so you will need to install from source.

ReplyDelete