pargee: Parallel GEE solver

Description Usage Arguments Details Value Author(s) Examples

Description

A parallelized, out-of-memory based GEE solver

Usage

1
2
3
  ## S4 method for signature 'gdManager'
pargee(gd, family, binit, maxit=20, 
            tol=1e-06, sandwich=TRUE, ...)

Arguments

gd

A gdManager-class.

family

A GLM stats family instance, e.g., gaussian. See ?family for details.

binit

Initial values for the regression parameter vector.

maxit

Maximum number of iterations allowed.

tol

Convergence criterion. The absolute value of the incremental change in parameter estimates is measured in each iteration step. Iterations will stop when the largest of these changes is smaller than tol.

sandwich

Logical indicating if the robust variance should be computed.

...

Arguments passed to other methods.

Details

Preliminary demonstration, mildly validated on orthodontic data for gaussian case and respiratory data for binomal case.

Value

A list with two named elements: 'coefficients' and 'robust.variance'.

Author(s)

Vince Carey <stvjc@channing.harvard.edu>

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
## Create a 'groupedData' object from 'Orthondont' data set:
library(nlme)
  orthGD <-
       groupedData(distance ~ age | Subject,
                   data = as.data.frame(Orthodont),
                   FUN = mean,
                   outer = ~ Sex,
                   labels = list(x = "Age",
                     y = "Distance from pituitary to pterygomaxillary fissure"),
                   units = list( x = "(yr)", y = "(mm)"))
dim(orthGD)

## Create a 'gdManager' that points to the ff files in tempdir():
orthMgr <- groupedData2ff(gd=orthGD, gcol=3, prefix=tempfile())

## In the ff file 'Sex' is coded as `1` for male and `2` for female. 
## We adjust the coding to `0` and `1`.
numdat(orthMgr)[,"Sex"] <- numdat(orthMgr)[,"Sex"] - 1
 
## Call the GEE solver:
res <- pargee(orthMgr, gaussian, c(0, 0, 0))

## Coefficients and standard errors:
round(res$coefficients, 4)
round(sqrt(diag(res$robust.variance)), 4)

## Compare results with those from geeglm() from the geepack package:
library(geepack)
geeglm <- geeglm(distance ~ age + Sex, data=orthGD, id=Subject)
round(summary(geeglm)$coefficients, 4)

Bioconductor/geeni documentation built on May 6, 2019, 7:52 a.m.