All:
Jose Pinheiro graciously replied to my question. I should hasten to add that
the Help file explains this -- I was just too thick to parse the
information.
Here is my question and Jose's reply.
******** QUESTION ******
On p. 165 of Bates and Pinheiro's Mixed Effect Modeling (2000) book it
explains how to specify a model to lme() in which (some of) random
effects are crossed. The random=specification uses a class pdBlocked matrix
and
works as given only if the data are a groupedData object. This worked
fine for me, but I wonder how one would specify the random object if one
uses
a plain data frame that is not of class groupedData. Maybe it's obvious,
but a couple of things I tried didn't work, so I obviously don't get it. Any
help would be appreciated.
********
***** JOSE'S REPLY *********
In the example you mentioned, you have crossed random effects nested within
another grouping factor, "Block". As you noted, the grouping factor in this
case is inferred from the groupedData object, but you can alternatively use
a named list to determine the grouping factor, like below
random = list(Block = pdBlocked(list(~1, pdIdent(~sample-1), pdIdent
(~dilut-1))))
(You can actually simplify that a bit using
random = list(Block = pdBlocked(list(~1, ~sample-1, ~dilut-1), pdClass
= "pdIdent"))
You can always use a named list in "random" to pass information about
grouping factors to lme/nlme.
Hope this helps,
--Jose'
----------------------------------------------------------------
Jose' Pinheiro
Biostatistics, Novartis Pharmaceuticals
----------------------------------------------------------------
|