Oyomoare Osazuwa-Peters
2015-Sep-21 14:35 UTC
[R] Accounting for correlated random effects in coxme with matrix from a phylogeny rather than pedigree
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]]