Skip to content

mattansb/Hierarchical-Linear-Models-foR-Psychologists

Repository files navigation

Hierarchical Linear Models foR Psychologists


Last updated 2023-06-11.

This Github repo contains all lesson files for Hierarchical Linear Models in R. The goal is to impart students with the basic tools to construct, evaluate and compare various (generalized) linear mixed models, using lme4. (Materials developed with Yael Bar-Shachar.)

These topics were taught in the graduate-level course Hierarchical Linear Models for Psychologists (Psych Dep., Ben-Gurion University of the Negev; Psych Dep., Tel-Aviv University). This course assumes basic competence in R (importing, regression modeling, plotting, etc.), along the lines of Practical Applications in R for Psychologists.

Notes:

  • This repo contains only materials relating to Practical Applications in R, and does not contain any theoretical or introductory materials.
  • Please note that some code does not work on purpose, to force students to learn to debug.

Setup

You will need:

  1. A fresh installation of R (preferably version 4.2 or above).
  2. RStudio IDE (optional, but recommended).
  3. The following packages, listed by lesson:
Lesson Packages
01 HLM Basics tidyverse, lmerTest, emmeans, performance, parameters, merDeriv, sjPlot, afex
02 Model Comparisons ggplot2, lmerTest, performance, parameters, sjPlot, bayestestR
03 Cross level interactions and effect sizes dplyr, datawizard, lmerTest, performance, parameters, emmeans, ggplot2
04 Growth Models dplyr, ggplot2, lmerTest, parameters, performance, emmeans, ggeffects, nlme, glmmTMB
05 Within-Person Fluctuation Models tidyverse, datawizard, lmerTest, performance, parameters
06 GLMMs tidyverse, lme4, performance, parameters, haven, insight, ggeffects
07 Multilpe random factors dplyr, lmerTest, performance, ggplot2, tibble, forcats, dplyr, lmerTest, performance, ggplot2, parameters, emmeans
08 Misc dplyr, lme4, performance, see, ggplot2, patchwork, afex, emmeans, car

You can install all the packages used by running:

# in alphabetical order:

pkgs <- c(
  "afex", "bayestestR", "car", "datawizard", "dplyr", "emmeans",
  "forcats", "ggeffects", "ggplot2", "glmmTMB", "haven", "insight",
  "lme4", "lmerTest", "merDeriv", "nlme", "parameters", "patchwork",
  "performance", "see", "sjPlot", "tibble", "tidyverse"
)

install.packages(pkgs, dependencies = TRUE)
Package Versions

The package versions used here:

  • afex 1.3-0 (CRAN)
  • bayestestR 0.13.1 (CRAN)
  • car 3.1-2 (CRAN)
  • datawizard 0.7.1 (CRAN)
  • dplyr 1.1.1 (CRAN)
  • emmeans 1.8.6 (CRAN)
  • forcats 1.0.0 (CRAN)
  • ggeffects 1.2.1.9 (Github: strengejacke/ggeffects)
  • ggplot2 3.4.2 (CRAN)
  • glmmTMB 1.1.7 (CRAN)
  • haven 2.5.2 (CRAN)
  • insight 0.19.1 (CRAN)
  • lme4 1.1-33 (CRAN)
  • lmerTest 3.1-3 (CRAN)
  • merDeriv 0.2-4 (CRAN)
  • nlme 3.1-160 (CRAN)
  • parameters 0.21.0 (CRAN)
  • patchwork 1.1.2 (CRAN)
  • performance 0.10.3 (CRAN)
  • see 0.7.5 (CRAN)
  • sjPlot 2.8.14 (CRAN)
  • tibble 3.2.1 (CRAN)
  • tidyverse 2.0.0 (CRAN)