J D
2010-Jun-22 14:30 UTC
[R] Generalised Estimating Equations on approx normal outcome with limited range
Dear R users I am analysing data from a group of twins and their siblings. The measures that we are interested in are all correlated within families, with the correlations being stronger between twins than between non-twin siblings. The measures are all calculated from survey answers and by definition have limited ranges (e.g. -5 to +5), though within the range they are approximately normally distributed (with ~50 levels). One aim of the analysis is to assess whether the measures are related to certain covariates, and I have tried the generalised estimating equation function geeglm (library geepack) with the 'gaussian' family details like so: geeout <- geeglm(outcome ~ covariate1 + covariate2, id=familyID, family=gaussian, data=dat, corstr="unstructured") But I'm thinking that the limited range of the outcome violates the assumption of normality and that the results could be off. Q: Is there a way in R, either in geeglm or another appropriate function, to take the limited range of the outcome into account? Another aim of the analysis is to combine the data from all members of all families to make percentile norms or standards for future comparisons. I don't want to use a poorly fitting model for this purpose especially, but in the hope that I will be able to account for the limited range somehow, I tried using geeglm to calculate a new mean and variance, adjusted for within-family correlation but without any adjustments for covariates. Q: It looks like it works but have I specified it correctly to get the statistics that I want? geeout <- geeglm(outcome ~ 1, id=familyID, family=gaussian, data=dat, corstr="unstructured") # Then the adjusted mean would be in: summary(geeout)$geese$mean # and the adjusted variance would be the estimate in: summary(geeout)$geese$scale If you know of a better way to analyse this data, I would love to know this as well. Thank you very much for your time and any help you can offer. Jillian Dwyer [[alternative HTML version deleted]]
Søren Højsgaard
2010-Jun-24 12:00 UTC
[R] Generalised Estimating Equations on approx normal outcome with limited range
Hi, 1) There is no feature in geeglm for that sort of "truncation" of the outcome. 2) It is generally "fragile" - and not recommendable - to use corstr="unstructured" in geeglm. Regards S?ren ________________________________________ Fra: r-help-bounces at r-project.org [r-help-bounces at r-project.org] På vegne af J D [jdprojects3843 at gmail.com] Sendt: 22. juni 2010 16:30 Til: r-help at r-project.org Emne: [R] Generalised Estimating Equations on approx normal outcome with limited range Dear R users I am analysing data from a group of twins and their siblings. The measures that we are interested in are all correlated within families, with the correlations being stronger between twins than between non-twin siblings. The measures are all calculated from survey answers and by definition have limited ranges (e.g. -5 to +5), though within the range they are approximately normally distributed (with ~50 levels). One aim of the analysis is to assess whether the measures are related to certain covariates, and I have tried the generalised estimating equation function geeglm (library geepack) with the 'gaussian' family details like so: geeout <- geeglm(outcome ~ covariate1 + covariate2, id=familyID, family=gaussian, data=dat, corstr="unstructured") But I'm thinking that the limited range of the outcome violates the assumption of normality and that the results could be off. Q: Is there a way in R, either in geeglm or another appropriate function, to take the limited range of the outcome into account? Another aim of the analysis is to combine the data from all members of all families to make percentile norms or standards for future comparisons. I don't want to use a poorly fitting model for this purpose especially, but in the hope that I will be able to account for the limited range somehow, I tried using geeglm to calculate a new mean and variance, adjusted for within-family correlation but without any adjustments for covariates. Q: It looks like it works but have I specified it correctly to get the statistics that I want? geeout <- geeglm(outcome ~ 1, id=familyID, family=gaussian, data=dat, corstr="unstructured") # Then the adjusted mean would be in: summary(geeout)$geese$mean # and the adjusted variance would be the estimate in: summary(geeout)$geese$scale If you know of a better way to analyse this data, I would love to know this as well. Thank you very much for your time and any help you can offer. Jillian Dwyer [[alternative HTML version deleted]] ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.