# Loading the dataset that has been reset into a long version
load("/Users/levibrackman/data.test3.RData")
# Load the psych package
library(psych)
items <- grep("PWB[0-9]", names(data.test3), value = TRUE)
items
## [1] "PWB1" "PWB2" "PWB3" "PWB4" "PWB5" "PWB6" "PWB7" "PWB8" "PWB9"

scaleKey <- c(-1, -1, -1, -1, -1, 1, 1, 1, -1)
data.test3[, items] <- apply(data.test3[, items], 2, as.numeric)
data.test3$meanPWB <- scoreItems(scaleKey, items = data.test3[, items])$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 PWB variable by the GROUP variable

describeBy(data.test3$meanPWB, group = data.test3$GROUP)
## INDICES: 0
##    vars   n mean  sd median trimmed  mad  min max range skew kurtosis   se
## A1    1 102 4.57 0.9   4.78    4.63 0.82 2.33   6  3.67 -0.6    -0.39 0.09
## -------------------------------------------------------- 
## INDICES: 1
##    vars  n mean   sd median trimmed  mad min max range  skew kurtosis   se
## A1    1 91 4.61 0.84   4.78    4.68 0.82   1   6     5 -1.08      2.2 0.09
## -------------------------------------------------------- 
## INDICES: 2
##    vars n mean   sd median trimmed  mad  min  max range skew kurtosis   se
## A1    1 7 4.17 0.67      4    4.17 0.66 3.33 5.11  1.78 0.17    -1.77 0.25

Create a plot that visualizes PWB variable by the GROUP variable

library(ggplot2)
## 
## Attaching package: 'ggplot2'
## 
## The following object is masked from 'package:psych':
## 
##     %+%
qplot(GROUP, meanPWB, data = data.test3, geom = "boxplot")
## Error: stat_boxplot requires the following missing aesthetics: y

# Load the nlme package
library(nlme)

Two way repeated measures


with(data.test3, boxplot(meanPWB ~ 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(meanPWB ~ 1, random = ~1 | ID/GROUP/wave, data = data.test3, 
    method = "ML")

PWBModel <- lme(meanPWB ~ GROUP, random = ~1 | ID/GROUP/wave, data = data.test3, 
    method = "ML")

PWB2Model <- lme(meanPWB ~ GROUP + wave, random = ~1 | ID/GROUP/wave, data = data.test3, 
    method = "ML")
## Error: nlminb problem, convergence error code = 1
##   message = singular convergence (7)

fullModel <- lme(meanPWB ~ GROUP * wave, random = ~1 | ID/GROUP/wave, data = data.test3, 
    method = "ML")

We again the significance of our model by comparing them from the baseline model using the anova() function.


anova(PWBModel, PWB2Model, fullModel)
## Error: object 'PWB2Model' not found
# Baseline would ot work for some reason. So it was removed.
summary(fullModel)
## Warning: NaNs produced
## Linear mixed-effects model fit by maximum likelihood
##  Data: data.test3 
##     AIC   BIC logLik
##   436.6 469.5 -208.3
## 
## Random effects:
##  Formula: ~1 | ID
##         (Intercept)
## StdDev:   0.0008627
## 
##  Formula: ~1 | GROUP %in% ID
##         (Intercept)
## StdDev:       0.725
## 
##  Formula: ~1 | wave %in% GROUP %in% ID
##         (Intercept) Residual
## StdDev:   2.626e-09   0.4508
## 
## Fixed effects: meanPWB ~ GROUP * wave 
##              Value Std.Error  DF t-value p-value
## (Intercept)  4.378    0.1605 105  27.280  0.0000
## GROUP1      -0.523    0.2295   0  -2.277     NaN
## GROUP2      -1.320    0.5886  88  -2.242  0.0275
## wave         0.067    0.0615 105   1.095  0.2762
## GROUP1:wave  0.335    0.0901 105   3.719  0.0003
## GROUP2:wave  0.616    0.2651 105   2.325  0.0220
##  Correlation: 
##             (Intr) GROUP1 GROUP2 wave   GROUP1:
## GROUP1      -0.699                             
## GROUP2      -0.273  0.191                      
## wave        -0.658  0.460  0.179               
## GROUP1:wave  0.450 -0.656 -0.123 -0.683        
## GROUP2:wave  0.153 -0.107 -0.689 -0.232  0.158 
## 
## Standardized Within-Group Residuals:
##      Min       Q1      Med       Q3      Max 
## -2.52634 -0.39466  0.03571  0.52461  1.85387 
## 
## Number of Observations: 200
## Number of Groups: 
##                      ID           GROUP %in% ID wave %in% GROUP %in% ID 
##                      90                      91                     199