Cushny and Peebles (1905) studied the effects of hydrobromides
related to scopolamine and atropine
in producing sleep. The sleep of mental patients was
measured without hypnotic (`Control`

) and after treatment
with one of three drugs: L. hyoscyamine hydrobromide (`L_hyoscyamine`

),
L. hyoscine hydrobromide (`L_hyoscyine`

), and
a mixture (racemic) form, `DL_hyoscine`

, called atropine.
The L (levo) and D (detro)
form of a given molecule are optical isomers (mirror images).

The drugs were given on alternate evenings, and the hours of sleep were compared with the intervening control night. Each of the drugs was tested in this manner a varying number of times in each subject. The average number of hours of sleep for each treatment is the response.

Student (1908) used these data to illustrate the paired-sample t-test in small samples, testing the hypothesis that the mean difference between a given drug and the control condition was zero. This data set became well known when used by Fisher (1925). Both Student and Fisher had problems labeling the drugs correctly (see Senn & Richardson (1994)), and consequently came to wrong conclusions.

But as well, the sample sizes (number of nights) for each mean differed widely,
ranging from 3-9, and this was not taken into account in their analyses.
To allow weighted analyses, the number of observations for each mean
is contained in the data frame `CushnyPeeblesN`

.

1 2 3 |

`CushnyPeebles`

: A data frame with 11 observations on the following 4 variables.

`Control`

a numeric vector: mean hours of sleep

`L_hyoscyamine`

a numeric vector: mean hours of sleep

`L_hyoscine`

a numeric vector: mean hours of sleep

`D_hyoscine`

a numeric vector: mean hours of sleep

`CushnyPeeblesN`

: A data frame with 11 observations on the following 4 variables.

`Control`

a numeric vector: number of observations

`L_hyoscyamine`

a numeric vector: number of observations

`L_hyoscine`

a numeric vector: number of observations

`DL_hyoscine`

a numeric vector: number of observations

The last patient (11) has no `Control`

observations, and so is often excluded
in analyses or other versions of this data set.

Cushny, A. R., and Peebles, A. R. (1905), "The Action of Optical Isomers. II:
Hyoscines," *Journal of Physiology*, 32, 501-510.

Senn, Stephen, Data from Cushny and Peebles, http://www.senns.demon.co.uk/Data/Cushny.xls

Fisher, R. A. (1925), *Statistical Methods for Research Workers*, Edinburgh and London:
Oliver & Boyd.

Student (1908), "The Probable Error of a Mean," *Biometrika*, 6, 1-25.

Senn, S.J. and Richardson, W. (1994), "The first t-test", *Statistics in Medicine*, 13, 785-803.

`sleep`

for an alternative form of this data set.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | ```
data(CushnyPeebles)
# quick looks at the data
plot(CushnyPeebles)
boxplot(CushnyPeebles, ylab="Hours of Sleep", xlab="Treatment")
##########################
# Repeated measures MANOVA
require(car)
CPmod <- lm(cbind(Control, L_hyoscyamine, L_hyoscine, DL_hyoscine) ~ 1, data=CushnyPeebles)
# Assign within-S factor and contrasts
Treatment <- factor(colnames(CushnyPeebles), levels=colnames(CushnyPeebles))
contrasts(Treatment) <- matrix(
c(-3, 1, 1, 1,
0,-2, 1, 1,
0, 0,-1, 1), ncol=3)
colnames(contrasts(Treatment)) <- c("Control.Drug", "L.DL", "L_hy.DL_hy")
Treats <- data.frame(Treatment)
(CPaov <- Anova(CPmod, idata=Treats, idesign= ~Treatment))
summary(CPaov, univariate=FALSE)
if (require(heplots)) {
heplot(CPmod, idata=Treats, idesign= ~Treatment, iterm="Treatment",
xlab="Control vs Drugs", ylab="L vs DL drug")
pairs(CPmod, idata=Treats, idesign= ~Treatment, iterm="Treatment")
}
################################
# reshape to long format, add Ns
CPlong <- stack(CushnyPeebles)[,2:1]
colnames(CPlong) <- c("treatment", "sleep")
CPN <- stack(CushnyPeeblesN)
CPlong <- data.frame(patient=rep(1:11,4), CPlong, n=CPN$values)
str(CPlong)
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.