R Markdown

#IME4 ’’’{r}

install.packages(“lme4”) install.packages(“ggplot2”) install.packages(“dplyr”)

library(lme4) library(ggplot2) library(dplyr)

orthodont = read.csv(“orthodont.csv”) str(orthodont)

ggplot(orthodont, aes(x = age, y = distance, col = Subject)) + geom_point() + theme_bw()

orthodont %>% filter(Subject == “M10”)

lm1 = lm(distance ~ age, data = orthodont) summary(lm1)

orthodont\(age2 = orthodont\)age - 8 lm2 = lm(distance ~ age2, data = orthodont) summary(lm2)

anova(lm2)

p <- ggplot(data = orthodont, aes(x = age2,y = distance)) + geom_point() + geom_line(aes(x = age2,y = predict(lm1))) + theme_bw()

p + facet_wrap(~ Sex)

subject.select <- c(paste0(“M0”, 5:8), paste0(“F0”, 2:5)) orthodont.select <- orthodont %>% filter(Subject %in% subject.select)

ggplot(orthodont.select, aes(x = age2,y = distance)) + geom_point() + geom_line(aes(x = age2,y = predict(lm1, newdata = orthodont.select))) + facet_wrap(~ Subject, nrow = 2) + theme_bw()

ggplot(data = orthodont, aes(x = age2, y = distance)) + geom_point(size = 3) + geom_line(aes(x = age2, y = distance, group = Subject)) + facet_wrap(~ Sex) + theme_bw()

lme1 = lmer(distance ~ age2 + (1 | Subject), data = orthodont, REML = FALSE) summary(lme1)

ranef(lme1)

orthodont$random_intercept <- fitted(lme1) ggplot(data = orthodont, aes(x = age, y = distance)) + geom_point() + geom_line(aes(x = age, y = random_intercept)) + facet_wrap(~Subject, ncol=5)

lme2 = lmer(distance ~ age2 + (age2 | Subject), data = orthodont, REML = FALSE) summary(lme2)

ranef(lme2)

plot(ranef(lme2)$Subject)

orthodont$random_slope <- fitted(lme2) ggplot(data = orthodont, aes(x = age, y = distance)) + geom_point() + geom_line(aes(x = age, y = random_slope)) + facet_wrap(~ Subject, ncol=5)

AIC(lm2, lme1, lme2)

lme3 = lmer(distance ~ age2 + (1 | Subject), data = orthodont, REML = TRUE) summary(lme3) ’’’