Skip to content

Help with pdMat constructors in nlme

1 message · Daniel Fulop

#
Dear All,

I am running into a known and unresolved issue in lme() having to do 
with how phylogenetic correlation structures (specifically corPagel with 
co-estimation of phylogenetic signal within the regression) interact 
with the formula-based way of specifying random effects: 
https://stat.ethz.ch/pipermail/r-sig-mixed-models/2012q1/015015.html

I have a randomized block design in which the block factor is "plate" 
and multiple measurements per individual (specified by ID), which are 
nested within "plate" blocks.  So, the random formula I am using is: ~ 1 
| plate / ID.  It turns out that an lme() model with just ~ 1 | ID is 
slightly favored by AIC and BIC.

I am now trying to account for phylogeny and I've been able to get the 
model to run with gls() with the above two alternative random effects 
formulas.  However, when I try including either random effect formula 
and corPagel in lme() I get the error mentioned in the linked r-sig-me 
archived post, i.e.:

Error in corFactor.corStruct(object) :
   NA/NaN/Inf in foreign function call (arg 1)

 From Simon Blomberg's post I get that when using corPagel specifying 
the random effects using pdMat constructors is more robust than doing so 
with a formula.  However, I have read parts of Pinheiro & Bates and 
other resources on the web, but I cannot seem to properly specify a 
either "~ 1 | plate / ID" nor "~ 1 | ID" with pdMat constructors and I 
keep on getting a variety of errors when I do so.

So, can someone please help me specify "~ 1 | plate / ID" and "~ 1 | ID" 
with pdMat constructors?

Thanks!
Dan.