Data from an experiment by William D. Rohwer on kindergarten children designed to examine how well performance on a set of paired-associate (PA) tasks can predict performance on some measures of aptitude and achievement.
Format
A data frame with 69 observations on the following 10 variables.
group
a numeric vector, corresponding to SES
SES
Socioeconomic status, a factor with levels
Hi
Lo
SAT
a numeric vector: score on a Student Achievement Test
PPVT
a numeric vector: score on the Peabody Picture Vocabulary Test
Raven
a numeric vector: score on the Raven Progressive Matrices Test
n
a numeric vector: performance on a 'named' PA task
s
a numeric vector: performance on a 'still' PA task
ns
a numeric vector: performance on a 'named still' PA task
na
a numeric vector: performance on a 'named action' PA task
ss
a numeric vector: performance on a 'sentence still' PA task
Source
Timm, N.H. 1975). Multivariate Analysis with Applications in Education and Psychology. Wadsworth (Brooks/Cole), Examples 4.3 (p. 281), 4.7 (p. 313), 4.13 (p. 344).
Details
The variables SAT
, PPVT
and Raven
are responses to be
potentially explained by performance on the paired-associate (PA) learning
taskn
, s
, ns
, na
, and ss
.
References
Friendly, M. (2007). HE plots for Multivariate General Linear Models. Journal of Computational and Graphical Statistics, 16(2) 421--444. http://datavis.ca/papers/jcgs-heplots.pdf
Examples
str(Rohwer)
#> 'data.frame': 69 obs. of 10 variables:
#> $ group: int 1 1 1 1 1 1 1 1 1 1 ...
#> $ SES : Factor w/ 2 levels "Hi","Lo": 2 2 2 2 2 2 2 2 2 2 ...
#> $ SAT : int 49 47 11 9 69 35 6 8 49 8 ...
#> $ PPVT : int 48 76 40 52 63 82 71 68 74 70 ...
#> $ Raven: int 8 13 13 9 15 14 21 8 11 15 ...
#> $ n : int 1 5 0 0 2 2 0 0 0 3 ...
#> $ s : int 2 14 10 2 7 15 1 0 0 2 ...
#> $ ns : int 6 14 21 5 11 21 20 10 7 21 ...
#> $ na : int 12 30 16 17 26 34 23 19 16 26 ...
#> $ ss : int 16 27 16 8 17 25 18 14 13 25 ...
## ANCOVA, assuming equal slopes
rohwer.mod <- lm(cbind(SAT, PPVT, Raven) ~ SES + n + s + ns + na + ss, data=Rohwer)
car::Anova(rohwer.mod)
#>
#> Type II MANOVA Tests: Pillai test statistic
#> Df test stat approx F num Df den Df Pr(>F)
#> SES 1 0.37853 12.1818 3 60 2.507e-06 ***
#> n 1 0.04030 0.8400 3 60 0.477330
#> s 1 0.09271 2.0437 3 60 0.117307
#> ns 1 0.19283 4.7779 3 60 0.004729 **
#> na 1 0.23134 6.0194 3 60 0.001181 **
#> ss 1 0.04990 1.0504 3 60 0.376988
#> ---
#> Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# Visualize the ANCOVA model
heplot(rohwer.mod)
# Add ellipse to test all 5 regressors
heplot(rohwer.mod, hypotheses=list("Regr" = c("n", "s", "ns", "na", "ss")))
# View all pairs
pairs(rohwer.mod, hypotheses=list("Regr" = c("n", "s", "ns", "na", "ss")))
# or 3D plot
if (FALSE) {
col <- c("red", "green3", "blue", "cyan", "magenta", "brown", "gray")
heplot3d(rohwer.mod, hypotheses=list("Regr" = c("n", "s", "ns", "na", "ss")),
col=col, wire=FALSE)
}
## fit separate, independent models for Lo/Hi SES
rohwer.ses1 <- lm(cbind(SAT, PPVT, Raven) ~ n + s + ns + na + ss, data=Rohwer, subset=SES=="Hi")
rohwer.ses2 <- lm(cbind(SAT, PPVT, Raven) ~ n + s + ns + na + ss, data=Rohwer, subset=SES=="Lo")
# overlay the separate HE plots
heplot(rohwer.ses1, ylim=c(40,110),col=c("red", "black"))
heplot(rohwer.ses2, add=TRUE, col=c("blue", "black"), grand.mean=TRUE, error.ellipse=TRUE)