This is a lightweight implementation of my pmc
package focusing on what I think are the more common use cases (e.g. it will no longer support comparisons of a geiger
model against an ouch
model). Further, it does not cover many of the newer model fitting that have been implemented since pmc
was first released.
The goal of this release is mostly to provide compatibility with current versions of geiger
.
Install the package:
A trivial example with data simulated from the lambda
model.
library("pmc")
library("geiger")
#> Loading required package: ape
phy <- sim.bdtree(n=10)
dat <- sim.char(rescale(phy, "lambda", .5), 1)[,1,]
out <- pmc(phy, dat, "BM", "lambda", nboot = 50)
#> Warning in fitContinuous(phy = tree, dat = data, model = model, ..., ncores = 1):
#> Parameter estimates appear at bounds:
#> lambda
Plot the results:
dists <- data.frame(null = out$null, test = out$test)
library("ggplot2")
library("tidyr")
library("dplyr")
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
dists %>%
gather(dist, value) %>%
ggplot(aes(value, fill = dist)) +
geom_density(alpha = 0.5) +
geom_vline(xintercept = out$lr)
Carl Boettiger, Graham Coop, Peter Ralph (2012) Is your phylogeny informative? Measuring the power of comparative methods, Evolution 66 (7) 2240-51. https://doi.org/10.1111/j.1558-5646.2011.01574.x