Below there's a MWE of the issue I'm encountering. I'm using the Orthodont
dataset from the nlme package which consists of 4 measurements for 27 children (16 girls, 11 boys). To model the correlation I'm using an unstructured covariance structure by specifying correlation = corSymm(form = ~1|Subject)
. I'm allowing for non-constant variance across different measurement occasions, but I would also like to allow the variance-covariance parameters to be different for boys and girls (e.g., because correlation between measurements is possibly higher/lower for boys than for girls). I can allow for this heterogeneity for the variance parameters by specifying weights = varIdent(form = ~1|age*Sex)
, but does anyone know how to allow for / specify this heterogeneity for the correlation parameters?
I know this is possible in SAS proc mixed
by specifying the group
option in the repeated
statement (http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_mixed_sect019.htm), but I haven't found a way to deal with this in R.
Many thanks in advance!
library(nlme)
head(Orthodont)
fit <- gls(distance ~ age * Sex, correlation = corSymm(form = ~1|Subject),
weights = varIdent(form = ~1|age*Sex), data = Orthodont, na.action = na.exclude)
I'm not completely sure this is what you're looking for, but give this a try:
fit <- gls(distance ~ age * Sex,
correlation = corSymm(form = ~1|Subject/Sex),
weights = varIdent(form = ~1|age*Sex),
data = Orthodont, na.action = na.exclude)
It fits a totally separate day-to-day correlation for males and females. If you run
summary(fit)
it shows this pretty clearly.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With