Fits Generalized Estimating Equation (GEE) models for analyzing correlated/clustered data. GEE provides population-averaged (marginal) estimates for studies with repeated measures, longitudinal data, multi-site studies, or clustered observations such as multiple samples per subject in pathology studies.
Details
GEE is essential for pathology studies where observations are correlated within clusters:
Multiple biopsies from the same patient
Bilateral organs (paired kidneys, eyes)
Repeated measures over time
Multi-site or multi-center studies
Hierarchical/nested data structures
Key Advantages of GEE:
Provides valid inference even if correlation structure is misspecified (with robust SE)
Does not require distributional assumptions for within-cluster correlation
Population-averaged interpretation (vs. subject-specific in mixed models)
Handles unbalanced designs (different cluster sizes)
Working Correlation Structures:
Exchangeable: Constant correlation between all pairs within cluster (most common)
AR(1): Autoregressive - correlation decays with time lag (for longitudinal data)
Unstructured: Estimates all pairwise correlations (requires many observations)
Independence: No correlation (equivalent to GLM)
Model Selection: QIC (Quasi-likelihood Information Criterion) is used for comparing models with different correlation structures or predictor sets. Lower QIC indicates better model fit.
Super classes
jmvcore::Analysis -> ClinicoPath::geemodelBase -> geemodelClass
Methods
Inherited methods
jmvcore::Analysis$.createImage()jmvcore::Analysis$.createImages()jmvcore::Analysis$.createPlotObject()jmvcore::Analysis$.load()jmvcore::Analysis$.render()jmvcore::Analysis$.save()jmvcore::Analysis$.savePart()jmvcore::Analysis$.setCheckpoint()jmvcore::Analysis$.setParent()jmvcore::Analysis$.setReadDatasetHeaderSource()jmvcore::Analysis$.setReadDatasetSource()jmvcore::Analysis$.setResourcesPathSource()jmvcore::Analysis$.setStatePathSource()jmvcore::Analysis$addAddon()jmvcore::Analysis$asProtoBuf()jmvcore::Analysis$asSource()jmvcore::Analysis$check()jmvcore::Analysis$init()jmvcore::Analysis$optionsChangedHandler()jmvcore::Analysis$postInit()jmvcore::Analysis$print()jmvcore::Analysis$readDataset()jmvcore::Analysis$run()jmvcore::Analysis$serialize()jmvcore::Analysis$setError()jmvcore::Analysis$setStatus()jmvcore::Analysis$translate()ClinicoPath::geemodelBase$initialize()