For Assignment #1 we assumed that a working memory training experiment was conducted in which subjects were randomly assigned to
ONE (1) of TWO (2) conditions:
1. Designed sports training (des)
2. Aerobic training (aer)
For the first assignment we assumed that both verbal and spatial working memory capacity were measured BEFORE and AFTER training
but we assumed that only ONE (1) task per construct was administered. A better approach would be to administer TWO (2) tasks per
construct. This would allow for stronger arguments about training effects because reliability and validity can be assessed via
correlation analyses.
So, this time, ASSUME there are TWO (2) measures of spatial working memory and TWO (2) measures of verbal working memory,
administered BEFORE and AFTER training.
Fictional data are available in the file: DAA.02.txt.
Write an R script that does the following:
1. Provides descriptive statistics for all EIGHT (8) measures, for each condition.
2. Provides an EIGHT by EIGHT (8x8) correlation matrix, for each condition.
Then, based on the R output, answer the following FIVE (5) questions (omitted):
library(psych)
library(ltm)
## Loading required package: MASS
## Loading required package: msm
## Loading required package: mvtnorm
## Loading required package: polycor
## Loading required package: sfsmisc
## Attaching package: 'polycor'
## The following object(s) are masked from 'package:psych':
##
## polyserial
## Attaching package: 'ltm'
## The following object(s) are masked from 'package:psych':
##
## factor.scores
library(gclus)
## Loading required package: cluster
#
# |------------------------------------------------------------------------------------------|
# | I N I T I A L I Z A T I O N |
# |------------------------------------------------------------------------------------------|
Init <- function(fileStr, workDirStr = "C:/Users/denbrige/100 FxOption/103 FxOptionVerBack/080 Fx Git/R-nonsource") {
setwd(workDirStr)
retDfr <- read.table(fileStr, header = T)
return(retDfr)
}
#
# |------------------------------------------------------------------------------------------|
# | M A I N P R O C E D U R E |
# |------------------------------------------------------------------------------------------|
# --- Init loading raw data
wmtDfr <- Init("DAA.02.txt")
# --- Count of raw data
nrow(wmtDfr)
## [1] 200
# --- Names of header
wmtNameStr <- names(wmtDfr)
# --- Split raw data into TWO (2) data frames, omit first column
desDfr <- wmtDfr[wmtDfr$cond == "des", 3:10]
aerDfr <- wmtDfr[wmtDfr$cond == "aer", 3:10]
# --- Sum of TWO (2) data frames should equal count
nrow(desDfr) + nrow(aerDfr)
## [1] 200
# --- Layout
layout(matrix(1:32, 8, 4, byrow = TRUE))
# --- Custom Plot
for (nameStr in names(desDfr)) {
# --- Check for normality p>0.05 is normal
p <- shapiro.test(desDfr[[nameStr]])$p.value
hist(desDfr[[nameStr]], prob = T, main = c(paste("DES", nameStr), paste("Shapiro p=",
prettyNum(p, digits = 2))), xlab = nameStr, xlim = c(0, 50))
lines(density(desDfr[[nameStr]]))
# --- Check for normality
qqnorm(desDfr[[nameStr]])
}
for (nameStr in names(aerDfr)) {
# --- Check for normality p>0.05 is normal
p <- shapiro.test(desDfr[[nameStr]])$p.value
hist(aerDfr[[nameStr]], prob = T, main = c(paste("AER", nameStr), paste("Shapiro p=",
prettyNum(p, digits = 2))), xlab = nameStr, xlim = c(0, 50))
lines(density(aerDfr[[nameStr]]))
# --- Check for normality
qqnorm(desDfr[[nameStr]])
}
describe(desDfr)
## var n mean sd median trimmed mad min max range skew
## pre.wm.s1 1 100 18.36 2.63 18.0 18.30 2.97 12 26 14 0.14
## pre.wm.s2 2 100 27.04 3.23 27.0 26.96 2.97 19 35 16 0.20
## post.wm.s1 3 100 22.02 4.27 22.0 21.99 4.45 10 33 23 -0.01
## post.wm.s2 4 100 30.45 4.59 30.0 30.27 5.93 22 42 20 0.29
## pre.wm.v1 5 100 12.61 10.21 11.0 11.79 11.86 0 53 53 0.84
## pre.wm.v2 6 100 10.02 7.67 9.0 9.46 8.90 0 37 37 0.64
## post.wm.v1 7 100 15.53 13.03 15.0 14.22 14.08 0 63 63 0.74
## post.wm.v2 8 100 12.62 8.56 11.5 12.09 8.15 0 38 38 0.53
## kurtosis se
## pre.wm.s1 -0.08 0.26
## pre.wm.s2 -0.49 0.32
## post.wm.s1 -0.06 0.43
## post.wm.s2 -0.40 0.46
## pre.wm.v1 0.97 1.02
## pre.wm.v2 0.11 0.77
## post.wm.v1 0.46 1.30
## post.wm.v2 -0.17 0.86
describe(aerDfr)
## var n mean sd median trimmed mad min max range skew
## pre.wm.s1 1 100 17.97 2.96 18.0 17.95 2.97 11 25 14 0.08
## pre.wm.s2 2 100 26.79 3.21 26.0 26.60 2.97 21 35 14 0.47
## post.wm.s1 3 100 25.11 3.79 25.0 25.02 4.45 14 34 20 0.06
## post.wm.s2 4 100 33.77 4.48 34.0 33.84 4.45 23 44 21 -0.09
## pre.wm.v1 5 100 13.89 9.48 14.0 13.53 11.12 0 36 36 0.27
## pre.wm.v2 6 100 10.01 7.14 9.5 9.68 8.15 0 26 26 0.31
## post.wm.v1 7 100 17.61 13.08 16.0 17.02 16.31 0 45 45 0.25
## post.wm.v2 8 100 12.33 8.07 12.0 12.12 8.90 0 30 30 0.18
## kurtosis se
## pre.wm.s1 -0.48 0.30
## pre.wm.s2 -0.24 0.32
## post.wm.s1 -0.49 0.38
## post.wm.s2 -0.19 0.45
## pre.wm.v1 -0.81 0.95
## pre.wm.v2 -0.93 0.71
## post.wm.v1 -1.14 1.31
## post.wm.v2 -1.00 0.81
# --- Scatterplot and Correlation Analysis (library gclus and ltm)
# Scatterplot DES
cpairs(desDfr, panel.colors = dmat.color(abs(cor(desDfr))), gap = 0.5, main = "DES Variables Ordered and Colored by Correlations")
# --- Correlation matrix DES
cor(desDfr)
## pre.wm.s1 pre.wm.s2 post.wm.s1 post.wm.s2 pre.wm.v1 pre.wm.v2
## pre.wm.s1 1.0000 0.5401 0.6278 0.38224 0.25527 0.18094
## pre.wm.s2 0.5401 1.0000 0.2634 0.63361 0.29424 0.24743
## post.wm.s1 0.6278 0.2634 1.0000 0.16342 0.16850 0.13571
## post.wm.s2 0.3822 0.6336 0.1634 1.00000 0.02404 -0.02064
## pre.wm.v1 0.2553 0.2942 0.1685 0.02404 1.00000 0.92870
## pre.wm.v2 0.1809 0.2474 0.1357 -0.02064 0.92870 1.00000
## post.wm.v1 0.2961 0.3159 0.2742 0.05932 0.74165 0.67830
## post.wm.v2 0.1775 0.2588 0.1569 0.01314 0.87028 0.92462
## post.wm.v1 post.wm.v2
## pre.wm.s1 0.29614 0.17753
## pre.wm.s2 0.31590 0.25877
## post.wm.s1 0.27424 0.15689
## post.wm.s2 0.05932 0.01314
## pre.wm.v1 0.74165 0.87028
## pre.wm.v2 0.67830 0.92462
## post.wm.v1 1.00000 0.66629
## post.wm.v2 0.66629 1.00000
# --- Perform correlation test for matrix (library ltm) Correlation null
# hypothesis is that the correlation is zero (not correlated) If the
# p-value is less than the alpha level, then the null hypothesis is
# rejected Check for correlation p<0.05 is correlated
rcor.test(desDfr)
##
## pre.wm.s1 pre.wm.s2 post.wm.s1 post.wm.s2 pre.wm.v1 pre.wm.v2
## pre.wm.s1 ***** 0.540 0.628 0.382 0.255 0.181
## pre.wm.s2 <0.001 ***** 0.263 0.634 0.294 0.247
## post.wm.s1 <0.001 0.008 ***** 0.163 0.169 0.136
## post.wm.s2 <0.001 <0.001 0.104 ***** 0.024 -0.021
## pre.wm.v1 0.010 0.003 0.094 0.812 ***** 0.929
## pre.wm.v2 0.072 0.013 0.178 0.838 <0.001 *****
## post.wm.v1 0.003 0.001 0.006 0.558 <0.001 <0.001
## post.wm.v2 0.077 0.009 0.119 0.897 <0.001 <0.001
## post.wm.v1 post.wm.v2
## pre.wm.s1 0.296 0.178
## pre.wm.s2 0.316 0.259
## post.wm.s1 0.274 0.157
## post.wm.s2 0.059 0.013
## pre.wm.v1 0.742 0.870
## pre.wm.v2 0.678 0.925
## post.wm.v1 ***** 0.666
## post.wm.v2 <0.001 *****
##
## upper diagonal part contains correlation coefficient estimates
## lower diagonal part contains corresponding p-values
# --- Scatterplot and Correlation Analysis (library gclus and ltm)
# Scatterplot AER
cpairs(aerDfr, panel.colors = dmat.color(abs(cor(aerDfr))), gap = 0.5, main = "AER Variables Ordered and Colored by Correlations")
# --- Correlation matrix for AER
cor(aerDfr)
## pre.wm.s1 pre.wm.s2 post.wm.s1 post.wm.s2 pre.wm.v1 pre.wm.v2
## pre.wm.s1 1.0000000 0.44860 0.66141 0.41770 -0.0004791 -0.0679
## pre.wm.s2 0.4485959 1.00000 0.27024 0.68329 -0.1277950 -0.1404
## post.wm.s1 0.6614050 0.27024 1.00000 0.29732 -0.0887002 -0.1082
## post.wm.s2 0.4176982 0.68329 0.29732 1.00000 -0.0484179 -0.0830
## pre.wm.v1 -0.0004791 -0.12779 -0.08870 -0.04842 1.0000000 0.9241
## pre.wm.v2 -0.0678993 -0.14038 -0.10819 -0.08300 0.9240555 1.0000
## post.wm.v1 -0.0397183 -0.05893 -0.14729 0.01517 0.6947547 0.6063
## post.wm.v2 0.0025339 -0.10207 -0.05925 -0.05655 0.8670607 0.9309
## post.wm.v1 post.wm.v2
## pre.wm.s1 -0.03972 0.002534
## pre.wm.s2 -0.05893 -0.102075
## post.wm.s1 -0.14729 -0.059252
## post.wm.s2 0.01517 -0.056547
## pre.wm.v1 0.69475 0.867061
## pre.wm.v2 0.60629 0.930917
## post.wm.v1 1.00000 0.542333
## post.wm.v2 0.54233 1.000000
# --- Perform correlation test for matrix (library ltm) Correlation null
# hypothesis is that the correlation is zero (not correlated) If the
# p-value is less than the alpha level, then the null hypothesis is
# rejected Check for correlation p<0.05 is correlated
rcor.test(aerDfr)
##
## pre.wm.s1 pre.wm.s2 post.wm.s1 post.wm.s2 pre.wm.v1 pre.wm.v2
## pre.wm.s1 ***** 0.449 0.661 0.418 -0.000 -0.068
## pre.wm.s2 <0.001 ***** 0.270 0.683 -0.128 -0.140
## post.wm.s1 <0.001 0.007 ***** 0.297 -0.089 -0.108
## post.wm.s2 <0.001 <0.001 0.003 ***** -0.048 -0.083
## pre.wm.v1 0.996 0.205 0.380 0.632 ***** 0.924
## pre.wm.v2 0.502 0.164 0.284 0.412 <0.001 *****
## post.wm.v1 0.695 0.560 0.144 0.881 <0.001 <0.001
## post.wm.v2 0.980 0.312 0.558 0.576 <0.001 <0.001
## post.wm.v1 post.wm.v2
## pre.wm.s1 -0.040 0.003
## pre.wm.s2 -0.059 -0.102
## post.wm.s1 -0.147 -0.059
## post.wm.s2 0.015 -0.057
## pre.wm.v1 0.695 0.867
## pre.wm.v2 0.606 0.931
## post.wm.v1 ***** 0.542
## post.wm.v2 <0.001 *****
##
## upper diagonal part contains correlation coefficient estimates
## lower diagonal part contains corresponding p-values
#
# |------------------------------------------------------------------------------------------|
# | E N D O F S C R I P T |
# |------------------------------------------------------------------------------------------|