The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Package overview

Francois Keck

2023-10-12

Data

First, we load the package phylosignal and the dataset carnivora from adephylo.

library(phylosignal)
library(adephylo)
library(ape)
library(phylobase)
data(carni19)

Here is a phylogenetic tree of 19 carnivora species.

tre <- read.tree(text=carni19$tre)

And we create a dataframe of 3 traits for the 19 carnivora species.

dat <- list()
dat$mass <- carni19$bm
dat$random <- rnorm(19, sd = 10)
dat$bm <- rTraitCont(tre)
dat <- as.data.frame(dat)

We can combine phylogeny and traits into a phylo4d object.

p4d <- phylo4d(tre, dat)

Visualizing the data

barplot.phylo4d(p4d, tree.type = "phylo", tree.ladderize = TRUE)

Measuring and testing the signal for each trait and different methods

phyloSignal(p4d = p4d, method = "all")
## $stat
##               Cmean           I         K    K.star       Lambda
## mass    0.549388707  0.39210678 0.7127747 0.7154914 9.640762e-01
## random -0.008591412 -0.01054837 0.1710380 0.1656598 6.846792e-05
## bm      0.631997788  0.54900008 1.2066485 1.2041770 1.027115e+00
## 
## $pvalue
##        Cmean     I     K K.star Lambda
## mass   0.002 0.001 0.001  0.001  0.001
## random 0.373 0.311 0.167  0.208  1.000
## bm     0.001 0.001 0.001  0.001  0.001

Assessing the behavior of these methods with this phylogeny along a Brownian-Motion influence gradient

phylosim <- phyloSim(tree = tre, method = "all", nsim = 100, reps = 99)
plot(phylosim, stacked.methods = FALSE, quantiles = c(0.05, 0.95))

plot.phylosim(phylosim, what = "pval", stacked.methods = TRUE)

Assessing the signal depth with correlograms

mass.crlg <- phyloCorrelogram(p4d, trait = "mass")
random.crlg <- phyloCorrelogram(p4d, trait = "random")
bm.crlg <- phyloCorrelogram(p4d, trait = "bm")

plot(mass.crlg)

plot(random.crlg)

plot(bm.crlg)

Locating the signal with LIPA

carni.lipa <- lipaMoran(p4d)
carni.lipa.p4d <- lipaMoran(p4d, as.p4d = TRUE)

barplot.phylo4d(p4d, bar.col=(carni.lipa$p.value < 0.05) + 1, center = FALSE , scale = FALSE)

barplot.phylo4d(carni.lipa.p4d, bar.col = (carni.lipa$p.value < 0.05) + 1, center = FALSE, scale = FALSE)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.