Skip to contents

phylo() marks user-facing syntax for phylogenetic dependence. The current fitted paths support Gaussian location and residual-scale effects, response-specific direct-SD formulas for location effects, labelled bivariate Gaussian location-scale blocks, and the first ordinary Poisson q=1 and NB2 q=1 location effects. Use phylo(1 | species, tree = tree) in univariate Gaussian mu, univariate Gaussian sigma, ordinary Poisson mu, or ordinary NB2 mu, phylo(1 + x | species, tree = tree) for the unlabelled ordinary Poisson/NB2 count one-slope gate, one numeric univariate Gaussian mu slope with independent intercept/slope SDs, matching univariate Gaussian mu and sigma intercept terms for a mean-scale phylogenetic correlation, matching terms in bivariate Gaussian mu1 and mu2, matching labelled all-four intercept terms across Gaussian mu1, mu2, sigma1, and sigma2, or the first shared-label all-four one-slope point-fit/extractor cell. A single shared intercept label estimates the full q4 block; a mu1/mu2 intercept label plus a separate sigma1/sigma2 intercept label estimates the block-diagonal fallback. The all-four phylo(1 + x | p | species, tree = tree) cell is native point-fit/extractor evidence only; bridge parity, intervals, coverage, REML, AI-REML, block-diagonal all-four slope layouts, Gaussian multiple phylogenetic slopes, pure, labelled, or multiple non-Gaussian phylogenetic slopes, zero-inflated phylogenetic effects, and phylogenetic slope correlations remain planned. The public phylo() API requires an ultrametric tree with branch lengths and uses the Hadfield and Nakagawa A-inverse sparse-precision path internally.

Usage

phylo(term, tree)

Arguments

term

Structured random-effect term, currently 1 | species or 1 + x | species.

tree

Ultrametric phylogeny input with branch lengths.

Value

A formula marker; never evaluated by users.

Examples

bf(y ~ x + phylo(1 | species, tree = tree), sigma ~ z)
#> <drm_formula>
#> y ~ x + phylo(1 | species, tree = tree)
#> sigma ~ z
bf(count ~ x + phylo(1 | species, tree = tree))
#> <drm_formula>
#> count ~ x + phylo(1 | species, tree = tree)
bf(count ~ x + phylo(1 + x | species, tree = tree))
#> <drm_formula>
#> count ~ x + phylo(1 + x | species, tree = tree)