Repeated Measures for Life Satisfaction

# 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 Life
# Satisfaction questions
data.test$LS <- apply(data.test[, c("LS1", "LS2", "LS3", "LS4", "LS5")], 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 LS variable by the GROUP variable

describeBy(data.test$LS, group = data.test$GROUP)
## group: 0
##   vars  n mean   sd median trimmed  mad min max range  skew kurtosis   se
## 1    1 80 4.49 1.34    4.6    4.58 1.19 1.4   7   5.6 -0.52    -0.22 0.15
## -------------------------------------------------------- 
## group: 1
##   vars  n mean   sd median trimmed  mad min max range  skew kurtosis   se
## 1    1 70 4.89 1.24    5.2       5 1.04 1.6 6.8   5.2 -0.73    -0.12 0.15
## -------------------------------------------------------- 
## group: 2
##   vars n mean  sd median trimmed  mad min max range skew kurtosis   se
## 1    1 5 4.88 1.1      5    4.88 0.89 3.4 6.4     3 0.03    -1.61 0.49

Create a plot that visualizes LS variable by the GROUP variable

library(ggplot2)
## 
## Attaching package: 'ggplot2'
## 
## The following object is masked from 'package:psych':
## 
##     %+%
qplot(GROUP, LS, data = data.test, geom = "boxplot")

plot of chunk unnamed-chunk-4


# Load the nlme package
library(nlme)

Two way repeated measures


with(data.test, boxplot(LS ~ wave + GROUP))

plot of chunk unnamed-chunk-5

Graphing the Two-Way Interaction.

# Load the nlme package
library(nlme)

I am not sure if I am doing this right

baseline <- lme(LS ~ 1, random = ~1 | ID/GROUP/wave, data = data.test, method = "ML")

LSModel <- lme(LS ~ GROUP, random = ~1 | ID/GROUP/wave, data = data.test, method = "ML")

LS2Model <- lme(LS ~ GROUP + wave, random = ~1 | ID/GROUP/wave, data = data.test, 
    method = "ML")

fullModel <- lme(LS ~ 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, LSModel, LS2Model, fullModel)
##           Model df   AIC   BIC logLik   Test L.Ratio p-value
## baseline      1  5 483.1 498.3 -236.6                       
## LSModel       2  7 485.2 506.5 -235.6 1 vs 2   1.893  0.3881
## LS2Model      3  8 481.9 506.3 -233.0 2 vs 3   5.306  0.0212
## fullModel     4 10 482.0 512.4 -231.0 3 vs 4   3.953  0.1385
summary(fullModel)
## Warning: NaNs produced
## Linear mixed-effects model fit by maximum likelihood
##  Data: data.test 
##   AIC   BIC logLik
##   482 512.4   -231
## 
## Random effects:
##  Formula: ~1 | ID
##         (Intercept)
## StdDev:   0.0002606
## 
##  Formula: ~1 | GROUP %in% ID
##         (Intercept)
## StdDev:       1.081
## 
##  Formula: ~1 | wave %in% GROUP %in% ID
##         (Intercept) Residual
## StdDev:   2.347e-05   0.6467
## 
## Fixed effects: LS ~ GROUP * wave 
##              Value Std.Error DF t-value p-value
## (Intercept)  4.316    0.2837 89  15.210  0.0000
## GROUP1      -0.113    0.4133  0  -0.274     NaN
## GROUP2      -0.894    1.1561 89  -0.774  0.4411
## wave         0.089    0.1565 59   0.567  0.5728
## GROUP1:wave  0.347    0.2365 59   1.468  0.1475
## GROUP2:wave  1.023    0.6636 59   1.542  0.1284
##  Correlation: 
##             (Intr) GROUP1 GROUP2 wave   GROUP1:
## GROUP1      -0.687                             
## GROUP2      -0.245  0.169                      
## wave        -0.769  0.528  0.189               
## GROUP1:wave  0.509 -0.778 -0.125 -0.662        
## GROUP2:wave  0.181 -0.125 -0.776 -0.236  0.156 
## 
## Standardized Within-Group Residuals:
##      Min       Q1      Med       Q3      Max 
## -3.05070 -0.38595  0.01563  0.35921  2.46085 
## 
## Number of Observations: 155
## Number of Groups: 
##                      ID           GROUP %in% ID wave %in% GROUP %in% ID 
##                      91                      92                     154