# Simulation and power analysis of generalized linear mixed models

(This article was first published on Educate-R – R, and kindly contributed to R-bloggers)

# Overview

1. (G)LMMs
2. Power
3. `simglm` package
4. Demo Shiny App!

# Power

• Power is the ability to statistically detect a true effect (i.e. non-zero population effect).
• For simple models (e.g. t-tests, regression) there are closed form equations for generating power.
• R has routines for these: `power.t.test, power.anova.test`
• Gpower3

# Power Example

``````n <- seq(4, 1000, 2)
power <- sapply(seq_along(n), function(i)
power.t.test(n = n[i], delta = .15, sd = 1, type = 'two.sample')\$power)
``````

# Power is hard

• In practice, power is hard.
• Need to make many assumptions on data that has not been collected.
• Therefore, data assumptions made for power computations will likely differ from collected sample.
• A power analysis needs to be flexible, exploratory, and well thought out.

# `simglm` Overview

• `simglm` aims to simulate (G)LMMs with up to three levels of nesting (aim to add more later).
• Flexible data generation allows:
• any number of covariates and discrete covariates
• change random distribution
• unbalanced data
• missing data
• serial correlation.
• Also has routines to generate power.

# Demo Shiny App

``````shiny::runGitHub('simglm', username = 'lebebr01', subdir = 'inst/shiny_examples/demo')
``````

or

``````devtools::install_github('lebebr01/simglm')
library(simglm)
run_shiny()
``````
• Must have following packages installed: `simglm, shiny, shinydashboard, ggplot2, lme4, DT`.