-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hmmm.
Hard-coding your correlation matrix into glmmPQL by way of corSymm
should
be possible, but I think it could be quite tricky -- you would have to
read and understand
the Pinheiro and Bates paper referenced in ?corSymm, and really
understand the way that
corStruct objects are created and manipulated in nlme, in order to
have a shot at doing
this.
There are several existing tools for pedigree-based mixed model
estimation (pedigreemm,
kinship, MCMCglmm), and some tools in R's phylogenetic packages (ape)
for integrating phylogenetic
information with glmmPQL (the methods section in the paper that
introduces the EMMA package
refers to these phylogenetic frameworks, which is why I mention this);
I would see if any of them
will serve your purpose ...
good luck
Ben Bolker
On 10-10-22 01:18 PM, wong wrote:
Hi Ben, I want to test the association between non-normal response y and fixed effect predictor x with a correction for relatedness between indivdiuals (through incorporation of an individual-level random effect). The correlation matrix is already known or can be directly estimated from other means. Thers is no grouping of individuals here. There is a R package called EMMA that can fit such correlated random effect model for normally distributed response. However, EMMA can't handle non-normal response data. Thanks for your help. Alex 2010/10/22 Ben Bolker <bbolker at gmail.com>:
Reading the description of your problem more carefully: you want a correlation structure but no random effect (or equivalently an individual-level random effect, with no grouping)? You may have a hard time doing this: * gls (nlme package) fits generalized least-squares problem (no ['G-side'] random effect, but ['R-side'] correlation models) -- but 'generalized' here means 'non-trivial correlations', not 'non-normal responses in the exponential family' * glmer (lme4 package) allows individual-level random effects in GLMMs, but not R-side structures (the package author isn't sure how they would be formulated sensibly in a GLMM context) * You could create an individual-level random effect and use it in glmmPQL, but I would proceed with great caution, e.g.: library(MASS) bacteria$ind <- 1:nrow(bacteria) g1 <- glmmPQL(y ~ trt + week + offset(week), random = ~ 1 | ind, family=binomial, data=bacteria) Are you saying you have a fixed, known correlation matrix? That seems surprising, but if you want to do so you will probably have quite a bit of work in front of you -- read the appropriate chapter of Pinheiro and Bates 2000, then probably also read some of their papers on defining correlation structures. I'm sorry this isn't easier, but it's not a common task. On 10-10-22 11:26 AM, wong wrote:
Thanks ben. The argument correlation in glmmPQL is an optional corStruct object describing the within-group correlation structure. However, in my dataset, there is no grouping among individuals. Also, each individual has only one observation for response y. I don't know how to create a corStruct object from an existing n*n correlation matrix (n = the number of indivdiuals = length of y). What can I do now? The documentation for corClasses is not quite explicit. Alex 2010/10/22 Ben Bolker <bbolker at gmail.com>: See the documentation for lme (nlme package), specifically ?lme and ?corClasses . Beyond that, see Pinheiro and Bates 2000 (Springer). On 10-10-22 05:35 AM, wong wrote:
Hi, I'm looking for a R package for fitting a generalized linear mixed model g(E[y])=X?+Zu where g is a link function, ? is a p vector of fixed effects, u is a vector of random effects, X is design matrix, Z is an identity matrix. In our data, each individual has only one observation for response y. Because individuals may be correlated in some way, leading to similar reponses, random effect u is employed to correct for individual background effect. The variance of u is assumed to be Var[u]=G*?^2, in which G is a correlation matrix. glmmPQL in MASS has an argument for correlation. However, I encountered an error of invalid formula when using a n*n dimension matrix G (n is the number of individuals, and also the length of y) for argument 'correlation' in glmmPQL. For example:
y=sample(c(1,0),48,replace=T);x=sample(1:4,48,replace=T);id=1:48;covMat=matrix(rnorm(48*48),nrow=48)
glmmPQL(y~x,random=~1|id,family=binomial,correlation=covMat)
iteration 1 Error in formula.default(object) : invalid formula The R help documentation for glmmPQL is very compact. No detailed explanation. Does anybody know how to use correlation matrix in glmmPQL? Is it good to use glmmPQL for fitting my model? Thanks. Alex
_______________________________________________ R-sig-mixed-models at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
_______________________________________________ R-sig-mixed-models at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-sig-mixed-models
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzCB+kACgkQc5UpGjwzenPzwgCfW7OWexFazDXlGjiW+QGtKVN4 MvIAnRA+NQK0j6LS7FNka6pA6In/yCWb =R9AB -----END PGP SIGNATURE-----