# Loading the dataset that has been reset into a long version
load("/Users/levibrackman/data.test.RData")
# Creating a new variable that is the mean of all positive purpose HAPPI
# questions
data.test$HAPPI <- apply(data.test[, c("HAPPI1", "HAPPI2", "HAPPI3")], 1, mean,
na.rm = TRUE)
For lme to work GROUP and ID need to be seen as factors
data.test$GROUP <- as.factor(data.test$GROUP)
data.test$ID <- as.factor(data.test$ID)
# Load the psych package
library(psych)
Describe the HAPPI variable by the GROUP variable
describeBy(data.test$HAPPI, group = data.test$GROUP)
## group: 0
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 80 5.11 1.24 5.33 5.27 0.99 2 7 5 -0.98 0.26 0.14
## --------------------------------------------------------
## group: 1
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 70 5.21 1.15 5.33 5.27 0.99 1.67 7 5.33 -0.52 -0.15 0.14
## --------------------------------------------------------
## group: 2
## vars n mean sd median trimmed mad min max range skew kurtosis se
## 1 1 5 4.87 2.06 4 4.87 2.47 2.33 7 4.67 0.04 -2.08 0.92
Create a plot that visualizes HAPPI variable by the GROUP variable
library(ggplot2)
##
## Attaching package: 'ggplot2'
##
## The following object is masked from 'package:psych':
##
## %+%
qplot(GROUP, HAPPI, data = data.test, geom = "boxplot")
# Load the nlme package
library(nlme)
with(data.test, boxplot(HAPPI ~ 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(HAPPI ~ 1, random = ~1 | ID/GROUP/wave, data = data.test, method = "ML")
HAPPIModel <- lme(HAPPI ~ GROUP, random = ~1 | ID/GROUP/wave, data = data.test,
method = "ML")
HAPPI2Model <- lme(HAPPI ~ GROUP + wave, random = ~1 | ID/GROUP/wave, data = data.test,
method = "ML")
fullModel <- lme(HAPPI ~ GROUP * wave, random = ~1 | ID/GROUP/wave, data = data.test,
method = "ML")
We again the significance of our models by comparing them from the baseline model using the anova() function.
anova(baseline, HAPPIModel, HAPPI2Model, fullModel)
## Model df AIC BIC logLik Test L.Ratio p-value
## baseline 1 5 456.9 472.1 -223.4
## HAPPIModel 2 7 460.6 481.9 -223.3 1 vs 2 0.229 0.8916
## HAPPI2Model 3 8 451.3 475.6 -217.6 2 vs 3 11.373 0.0007
## fullModel 4 10 448.6 479.1 -214.3 3 vs 4 6.649 0.0360
summary(fullModel)
## Warning: NaNs produced
## Linear mixed-effects model fit by maximum likelihood
## Data: data.test
## AIC BIC logLik
## 448.6 479.1 -214.3
##
## Random effects:
## Formula: ~1 | ID
## (Intercept)
## StdDev: 1.088
##
## Formula: ~1 | GROUP %in% ID
## (Intercept)
## StdDev: 0.0003755
##
## Formula: ~1 | wave %in% GROUP %in% ID
## (Intercept) Residual
## StdDev: 2.104e-07 0.523
##
## Fixed effects: HAPPI ~ GROUP * wave
## Value Std.Error DF t-value p-value
## (Intercept) 4.917 0.2476 89 19.862 0.0000
## GROUP1 -0.608 0.3590 0 -1.693 NaN
## GROUP2 -1.348 1.0157 89 -1.327 0.1880
## wave 0.114 0.1271 59 0.898 0.3730
## GROUP1:wave 0.451 0.1910 59 2.364 0.0214
## GROUP2:wave 0.761 0.5401 59 1.409 0.1641
## Correlation:
## (Intr) GROUP1 GROUP2 wave GROUP1:
## GROUP1 -0.681
## GROUP2 -0.244 0.166
## wave -0.722 0.501 0.176
## GROUP1:wave 0.497 -0.755 -0.121 -0.660
## GROUP2:wave 0.170 -0.118 -0.717 -0.235 0.155
##
## Standardized Within-Group Residuals:
## Min Q1 Med Q3 Max
## -3.007665 -0.412157 0.004083 0.423363 2.284870
##
## Number of Observations: 155
## Number of Groups:
## ID GROUP %in% ID wave %in% GROUP %in% ID
## 91 92 154