# Exercise 7.1 set.seed(123321) n <- 100 library(MASS) iv <- mvrnorm(100, c(50, 50), matrix(c(10, 5, 5, 10), 2, 2)) ability <- round(iv[,1], 0) motiv <- round(iv[,2], 0) perf <- 45 + 5*scale(ability) + 5*scale(motiv) + 5*scale(ability)*scale(motiv) + rnorm(n, 0, 7) dat <- data.frame(ability, motiv, perf) out <- lm(perf ~ ability + motiv, data = dat) out2 <- lm(perf ~ ability*motiv, data = dat) anova(out, out2) library(rockchalk) val <- quantile(dat$motiv, c(0.25, 0.5, 0.75)) est <- coef(out2) simpleslope <- est[2] + est[4]*val obj <- plotSlopes(out2, plotx="ability", modx="motiv") testSlopes(obj) plot(testSlopes(obj)) standardize(out) res <- resid(out) psych::describe(res) QuantPsyc::plotNormX(res) plot(predict(out), resid(out)) car::vif(out) influence.measures(out) cor(dat) colMeans(dat) apply(dat, 2, sd) ### Homework 7 grade1 <- c(2.1, 2.9, 2.6, 2.7, 2.9, 3.6, 2.6, 2.7, 3.3, 3.1, 2.4, 2.6, 3, 1.9, 2.8, 2.7, 2.4, 2.5, 2.8, 3.1) att1 <- c(41, 43, 40, 42, 49, 48, 35, 48, 51, 45, 44, 41, 49, 35, 48, 45, 36, 52, 48, 49) grade2 <- c(3.5, 2, 3.2, 3, 2.8, 4, 2.5, 3.2, 3.1, 2.1, 2.5, 2.3, 3.6, 2.5, 4, 2, 3.4, 2.4, 3, 2.9) att2 <- c(67, 46, 51, 56, 46, 62, 48, 57, 54, 47, 45, 41, 59, 48, 61, 44, 48, 42, 53, 47) grade3 <- c(2.8, 3.4, 3.7, 2, 2.8, 3.4, 3.7, 2.6, 2.7, 2.1, 3, 2.8, 2.5, 3.3, 3.7, 2.4, 3.2, 3.2, 3.5, 3.4) att3 <- c(52, 49, 58, 44, 54, 68, 61, 41, 47, 45, 42, 54, 55, 58, 56, 57, 52, 50, 50, 58) classroom <- factor(rep(1:3, each = 20)) classroom <- relevel(classroom, 3) dat <- data.frame(classroom, grade = c(grade1, grade2, grade3), att = c(att1, att2, att3)) out <- lm(att ~ classroom + grade, data = dat) summary(out)$r.square summary(out) out2 <- lm(att ~ grade, data = dat) summary(out)$r.square - summary(out2)$r.square anova(out2, out) out3 <- lm(att ~ I(grade - 3) + classroom, data = dat) plot(predict(out), resid(out)) out4 <- lm(att ~ classroom*grade, data = dat) anova(out4, out) obj <- plotSlopes(out4, plotx="grade", modx="classroom") testSlopes(obj)