# [R] an error to call 'gee' function in R

Qinglin Wu qwu5 at yahoo.com
Sun Sep 7 16:31:44 CEST 2008

```Dear List:

I found an error when I called the 'gee' function.  I cannot solve and explain it.  There are no errors when I used the 'geeglm' function.  Both functions fit the gee model.  The project supervisor recommends me to use the 'gee' function.  But I cannot explain to him why this error happens.   Would you help me solve this problem?  I appreciate your help.

In this project I will use the 'gee' or 'geeglm' and 'glmer' to fit the simulated multivariate count responses.  I generated the data like this:

Set β0 = β1 = 1, μ0 = 3, and n = 50.
For each 1 ≤ i ≤ n,
Simulate xi from N (1, 1).
Simulate zi0 and zit from
zi0 follows i.d. Poisson (μ0) ,
zit | xi follows i.d. Poisson (μit) , 1 ≤ t ≤ 3,
log (μit) = log(E (zit | xi)) = β0t + xiβ1t = 1+xi.
Let yit = zi0 + zit, 1 ≤ t ≤ 3.

So my data frame, let me call it 'simdata', the first 10 rows look like this:
id y.1 y.2 y.3           x
1   3   5   6 -0.06588626
2   6   7   6 -0.08265981
3   6   8  13  0.58307719
4  22  21  28  2.21099940
5   5  12   8  1.06299869
6   8  21  24  1.47615784
7  11   8   9  0.83748390
8  16  15  16  1.67011313
9   9   7   7 -0.14181264
10  31  37  40  2.56751453

This is the longitudinal data.  I will change its shape to analyze it.  The changed 'newdata' looks like this:
id           x time  y
1 -0.06588626    1  3
2 -0.08265981    1  6
3  0.58307719    1  6
4  2.21099940    1 22
5  1.06299869    1  5
6  1.47615784    1  8
7  0.83748390    1 11
8  1.67011313    1 16
9 -0.14181264    1  9
10  2.56751453    1 31
...........................
1 -0.06588626    2  5
2 -0.08265981    2  7
3  0.58307719    2  8
4  2.21099940    2 21
5  1.06299869    2 12
6  1.47615784    2 21
7  0.83748390    2  8
8  1.67011313    2 15
9 -0.14181264    2  7
10  2.56751453    2 37
...........................
1 -0.06588626    3  6
2 -0.08265981    3  6
3  0.58307719    3 13
4  2.21099940    3 28
5  1.06299869    3  8
6  1.47615784    3 24
7  0.83748390    3  9
8  1.67011313    3 16
9 -0.14181264    3  7
10  2.56751453    3 40
...........................

My data 'y' comes from x.  So their correlations are not independent.  What does the argument 'corstr' mean it defined in the function.  I tried all choices.  But the error was still there.  Here was the function I used in my programming:

GEE:  GENERALIZED LINEAR MODELS FOR DEPENDENT DATA
gee S-function, version 4.13 modified 98/01/27 (1998)

Model:
Variance to Mean Relation: Poisson
Correlation Structure:     Exchangeable

Call:
gee(formula = y ~ x, id = id, data = newdata, family = poisson(link = "log"),
corstr = "exchangeable")

Number of observations :  150

Maximum cluster size   :  1

Coefficients:
(Intercept)           x
1.5849653   0.7937203

Estimated Scale Parameter:  1.162505
Number of Iterations:  1

Working Correlation[1:4,1:4]
Error in print(x\$working.correlation[1:4, 1:4], digits = digits) :
subscript out of bounds

Is this kind of data not fit for the function 'gee'?  Because when I tested this two functions  by using the R data 'warpbreaks' they worked perfect although some returned objects were different. I used the following to do it:
1.  (summary(gee(breaks ~ tension, id=wool, data=warpbreaks, corstr="exchangeable"))
2.  summary(geeglm(breaks ~ tension, id=wool, data=warpbreaks, corstr="exchangeable"))).

The first one is from the example of ?gee file.

I will attach the part of my programming as .R file.  You can excute in R software.  Thanks a lot.

Best regards.

Sincerely,
Cynthia Wu

```