#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) ’’’