Learn R Programming

phytools (version 2.1-1)

brownie.lite: Likelihood test for rate variation in a continuous trait

Description

Fits a multi-rate Brownian motion evolution model using maximum likelihood.

Usage

brownie.lite(tree, x, maxit=2000, test="chisq", nsim=100, se=NULL, ...)

Value

An object of class "brownie.lite" containing the following elements:

sig2.single

is the rate, \(\sigma^2\), for a single-rate model. This is usually the "null" model.

a.single

is the estimated state at the root node for the single rate model.

var.single

variance on the single rate estimator - obtained from the Hessian.

logL1

log-likelihood of the single-rate model.

k1

number of parameters in the single rate model (always 2).

sig2.multiple

is a length p (for p rates) vector of BM rates (\(\sigma_1^2\), \(\sigma_2^2\), and so on) from the multi-rate model.

a.multiple

is the estimated state at the root node for the multi-rate model.

var.multiple

p x p variance-covariance matrix for the p rates - the square-roots of the diagonals should give the standard error for each rate.

logL.multiple

log-likelihood of the multi-rate model.

k2

number of parameters in the multi-rate model (p+1).

P.chisq

P-value for a likelihood ratio test against the \(\chi^2\) distribution; or

P.sim

P-value for a likelihood ratio test against a simulated null distribution.

convergence

logical value indicating if the likelihood optimization converged.

Arguments

tree

a phylogenetic tree either as an object of class "phylo" or "simmap". (See read.simmap, make.simmap, or paintSubTree for more details about the latter object class.)

x

a vector of tip values for species. names(x) should be the species names.

maxit

an optional integer value indicating the maximum number of iterations for optimization - may need to be increased for large trees.

test

an optional string indicating the method for hypothesis testing - options are "chisq" or "simulation".

nsim

number of simulations (only used if test="simulation").

se

a vector containing the standard errors for each estimated mean in x.

...

optional arguments.

Author

Liam Revell liam.revell@umb.edu

Details

This function takes an object of class "phylo" or class "simmap" with a mapped binary or multi-state trait (see read.simmap) and data for a single continuously valued character. It then fits the Brownian rate variation ("noncensored") model of O'Meara et al. (2006; Evolution). This is also the basic model implemented in Brian O'Meara's Brownie software.

Sampling error in the estimation of species means can also be accounted for by assigning the vector se with the species specific sampling errors for x.

References

O'Meara, B. C., C. Ane, M. J. Sanderson, and P. C. Wainwright (2006) Testing for different rates of continuous trait evolution using likelihood. Evolution, 60, 922-933.

Revell, L. J. (2024) phytools 2.0: an updated R ecosystem for phylogenetic comparative methods (and other things). PeerJ, 12, e16505.

See Also

brownieREML, evol.vcv, ratebytree

Examples

Run this code
## load data from Revell & Collar (2009)
data(sunfish.tree)
data(sunfish.data)
## extract character of interest
buccal.length<-setNames(sunfish.data$buccal.length,
    rownames(sunfish.data))
## fit model
multiBM.fit<-brownie.lite(sunfish.tree,
    buccal.length)
print(multiBM.fit)

Run the code above in your browser using DataLab