[R] Accounting for correlated random effects in coxme with matrix from a phylogeny rather than pedigree

Oyomoare Osazuwa-Peters oyomoare at gmail.com
Mon Sep 21 16:35:32 CEST 2015


Hello All,

I have a problem with running the mixed effects Cox regression model using
a distance matrix from a phylogeny rather than a pedigree. I searched
previous posts and didn't find any directly relevant previous posts.

I am interested in using a mixed effects Cox regression model to determine
the best predictors of time to recruitment in 80 different reintroduced
plant populations representing a total of 31 species. I will like to
account for correlated random effects that result from phylogenetic
relationships amongst species. Dr. Therneau's 2015 article on Mixed Effects
Cox Models provide a very helpful template for me to do this with the coxme
function in R. In this article, the correlation structure due to genetic
relationships amongst individuals was defined using a kinship matrix
derived from a pedigree. Instead of a pedigree, I have a phylogeny for
these 31 species. Hence, I used the inverseA function in the MCMCglmm
package to generate an inverse additive genetic relatedness matrix from the
phylogeny for these 31 species. And then fed it in as input to the varlist
argument in my mixed effects cox regression model (using function coxme). I
got an error message (please see below). Based on the error, one thought I
had was to convert the inverseA matrix from a “dgCMatrix” to “bdsmatrix”
but this was not successful either. I have also unsuccessfully tried to use
a pairwise phylogenetic distance matrix.

Is there a better way to do this? I basically just want to account for the
correlated random effects due to phylogenetic relatedness amongst the 31
species represented in the dataset for the Cox regression model.  Please
see my code below and I welcome suggestions on how best to make this work.

Thank you.

#Load packages
library(MCMCglmm)
library(asremlPLUS)
library(ape)

source("read.newick.R")


mytree <- read.newick(file="Phylo_2015Sept15.txt")

mytree6 <- makeNodeLabel(mytree, method="number", prefix = "node")#Make
sure each node is uniquely labeled

IA <- inverseA(mytree6, scale=TRUE) #generate inverse of the additive
genetic relatedness matrix (A) from phylogeny

#Use IA as input in correlated random effects model. Doesn't work.

fit2 <- coxme(Surv(surv.time, recruitment) ~ pred1 + pred2 + sixcatD1 +
sixcatD2 + sixcatD3 + (1|species), data = traitcox, varlist=coxmeMlist(IA,
rescale=F))

Error in as(x, "bdsmatrix") :
  no method or default for coercing “dgCMatrix” to “bdsmatrix”

	[[alternative HTML version deleted]]



More information about the R-help mailing list