wbgee | R Documentation |

Fit "within-between" and several other regression variants for panel data via generalized estimating equations.

```
wbgee(
formula,
data,
id = NULL,
wave = NULL,
model = "w-b",
cor.str = c("ar1", "exchangeable", "unstructured"),
detrend = FALSE,
use.wave = FALSE,
wave.factor = FALSE,
min.waves = 2,
family = gaussian,
balance.correction = FALSE,
dt.random = TRUE,
dt.order = 1,
weights = NULL,
offset = NULL,
interaction.style = c("double-demean", "demean", "raw"),
scale = FALSE,
scale.response = FALSE,
n.sd = 1,
calc.fit.stats = TRUE,
...
)
```

`formula` |
Model formula. See details for crucial
info on |

`data` |
The data, either a |

`id` |
If |

`wave` |
If |

`model` |
One of |

`cor.str` |
Any correlation structure accepted by |

`detrend` |
Adjust within-subject effects for trends in the predictors? Default is FALSE, but some research suggests this is a better idea (see Curran and Bauer (2011) reference). |

`use.wave` |
Should the wave be included as a predictor? Default is FALSE. |

`wave.factor` |
Should the wave variable be treated as an unordered factor instead of continuous? Default is FALSE. |

`min.waves` |
What is the minimum number of waves an individual must
have participated in to be included in the analysis? Default is |

`family` |
Use this to specify GLM link families. Default is |

`balance.correction` |
Correct between-subject effects for unbalanced panels following the procedure in Curran and Bauer (2011)? Default is FALSE. |

`dt.random` |
Should the detrending procedure be performed with a random slope for each entity? Default is TRUE but for short panels FALSE may be better, fitting a trend for all entities. |

`dt.order` |
If detrending using |

`weights` |
If using weights, either the name of the column in the data that contains the weights or a vector of the weights. |

`offset` |
this can be used to specify an |

`interaction.style` |
The best way to calculate interactions in within
models is in some dispute. The conventional way ( |

`scale` |
If |

`scale.response` |
Should the response variable also be rescaled? Default
is |

`n.sd` |
How many standard deviations should you divide by for standardization? Default is 1, though some prefer 2. |

`calc.fit.stats` |
Calculate fit statistics? Default is TRUE, but occasionally poor-fitting models might trip up here. |

`...` |
Additional arguments provided to |

See the documentation for `wbm()`

for many details on formula syntax and
other arguments.

A `wbgee`

object, which inherits from `geeglm`

.

Jacob A. Long

Allison, P. (2009). *Fixed effects regression models*.
Thousand Oaks, CA: SAGE Publications.
https://doi.org/10.4135/9781412993869.d33

Bell, A., & Jones, K. (2015). Explaining fixed effects: Random effects
modeling of time-series cross-sectional and panel data.
*Political Science Research and Methods*, *3*, 133–153.
https://doi.org/10.1017/psrm.2014.7

Curran, P. J., & Bauer, D. J. (2011). The disaggregation of within-person
and between-person effects in longitudinal models of change.
*Annual Review of Psychology*, *62*, 583–619.
https://doi.org/10.1146/annurev.psych.093008.100356

Giesselmann, M., & Schmidt-Catran, A. W. (2020). Interactions in fixed
effects regression models. *Sociological Methods & Research*, 1–28.
https://doi.org/10.1177/0049124120914934

McNeish, D. (2019). Effect partitioning in cross-sectionally clustered data
without multilevel models. *Multivariate Behavioral Research*,
Advance online publication. https://doi.org/10.1080/00273171.2019.1602504

McNeish, D., Stapleton, L. M., & Silverman, R. D. (2016). On the unnecessary
ubiquity of hierarchical linear modeling. *Psychological Methods*, *22*,
114-140. https://doi.org/10.1037/met0000078

Schunck, R., & Perales, F. (2017). Within- and between-cluster effects in
generalized linear mixed models: A discussion of approaches and the
`xthybrid`

command. *The Stata Journal*, *17*, 89–115.
https://doi.org/10.1177/1536867X1701700106

```
if (requireNamespace("geepack")) {
data("WageData")
wages <- panel_data(WageData, id = id, wave = t)
model <- wbgee(lwage ~ lag(union) + wks | blk + fem | blk * lag(union),
data = wages)
summary(model)
}
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.