# Loading the dataset that has been reset into a long version
load("/Users/levibrackman/data.test3.RData")
# Load the psych package
library(psych)
# Creating a new variable that is the mean of all positive purpose LOT
# questions
items <- grep("LOTR[0-9]", names(data.test3), value = TRUE)
scaleKey <- c(1, 1, -1, 1, 1, 1, -1, 1, -1, 1)
data.test3[, items] <- apply(data.test3[, items], 2, as.numeric)
data.test3$LOT <- scoreItems(scaleKey, items = data.test3[, items], delete = FALSE)$score
For lme to work GROUP and ID need to be seen as factors
data.test3$GROUP <- as.factor(data.test3$GROUP)
data.test3$ID <- as.factor(data.test3$ID)
Describe the LOT variable by the GROUP variable
describeBy(data.test3$LOT, group = data.test3$GROUP)
## INDICES: 0
## vars n mean sd median trimmed mad min max range skew kurtosis se
## A1 1 102 2.29 0.81 2.15 2.21 0.82 1.1 4.3 3.2 0.67 -0.38 0.08
## --------------------------------------------------------
## INDICES: 1
## vars n mean sd median trimmed mad min max range skew kurtosis se
## A1 1 91 2.12 0.69 2.1 2.04 0.74 1.1 4 2.9 0.84 0.12 0.07
## --------------------------------------------------------
## INDICES: 2
## vars n mean sd median trimmed mad min max range skew kurtosis se
## A1 1 7 2.37 0.53 2.2 2.37 0.15 1.8 3.4 1.6 0.86 -0.71 0.2
Create a plot that visualizes LOT variable by the GROUP variable
library(ggplot2)
##
## Attaching package: 'ggplot2'
##
## The following object is masked from 'package:psych':
##
## %+%
qplot(GROUP, LOT, data = data.test3, geom = "boxplot")
## Error: stat_boxplot requires the following missing aesthetics: y
# Load the nlme package
library(nlme)
with(data.test3, boxplot(LOT ~ wave + GROUP))
Graphing the Two-Way Interaction.
# Load the nlme package
library(nlme)
I am not sure if I am doing this right
baseline <- lme(LOT ~ 1, random = ~1 | ID/GROUP/wave, data = data.test3, method = "ML")
LOTPModel <- lme(LOT ~ GROUP, random = ~1 | ID/GROUP/wave, data = data.test3,
method = "ML")
LOTP2Model <- lme(LOT ~ GROUP + wave, random = ~1 | ID/GROUP/wave, data = data.test3,
method = "ML")
fullModel <- lme(LOT ~ GROUP * wave, random = ~1 | ID/GROUP/wave, data = data.test3,
method = "ML")
We again the significance of our models by comparing them from the baseline model using the anova() function.
anova(baseline, LOTPModel, LOTP2Model, fullModel)
## Model df AIC BIC logLik Test L.Ratio p-value
## baseline 1 5 430.9 447.4 -210.4
## LOTPModel 2 7 433.2 456.3 -209.6 1 vs 2 1.653 0.4376
## LOTP2Model 3 8 426.0 452.4 -205.0 2 vs 3 9.255 0.0023
## fullModel 4 10 428.1 461.1 -204.1 3 vs 4 1.847 0.3971
summary(fullModel)
## Warning: NaNs produced
## Linear mixed-effects model fit by maximum likelihood
## Data: data.test3
## AIC BIC logLik
## 428.1 461.1 -204.1
##
## Random effects:
## Formula: ~1 | ID
## (Intercept)
## StdDev: 0.4864
##
## Formula: ~1 | GROUP %in% ID
## (Intercept)
## StdDev: 0.0001006
##
## Formula: ~1 | wave %in% GROUP %in% ID
## (Intercept) Residual
## StdDev: 2.886e-05 0.5349
##
## Fixed effects: LOT ~ GROUP * wave
## Value Std.Error DF t-value p-value
## (Intercept) 2.4849 0.1550 105 16.030 0.0000
## GROUP1 0.0696 0.2222 0 0.313 NaN
## GROUP2 0.2076 0.5820 88 0.357 0.7221
## wave -0.0881 0.0717 105 -1.229 0.2217
## GROUP1:wave -0.1379 0.1039 105 -1.327 0.1873
## GROUP2:wave -0.1276 0.3065 105 -0.416 0.6780
## Correlation:
## (Intr) GROUP1 GROUP2 wave GROUP1:
## GROUP1 -0.696
## GROUP2 -0.266 0.185
## wave -0.804 0.561 0.214
## GROUP1:wave 0.563 -0.807 -0.150 -0.690
## GROUP2:wave 0.188 -0.131 -0.815 -0.234 0.161
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -1.8461 -0.5688 -0.1207 0.4400 2.6755
##
## Number of Observations: 200
## Number of Groups:
## ID GROUP %in% ID wave %in% GROUP %in% ID
## 90 91 199