Re: [R] Repeated measures

From: Chuck Cleland <ccleland_at_optonline.net>
Date: Wed 17 Jan 2007 - 10:45:01 GMT

Tom Backer Johnsen wrote:
> I am having a hard time understanding how to perform a "repeated
> measures" type of ANOVA with R. When reading the document found here:
>
>
http://cran.r-project.org/doc/contrib/Lemon-kickstart/kr_repms.html
>
> I find that there is a reference to a function make.rm () that is
> supposed to rearrange a "one row per person" type of frame to a "one
> row per observation" type of frame. But that function does not seem
> to be there. Nor does the help.search suggest anything. Is that
> function buried in some package?

  I'm not able to find that function. Perhaps that document is out of date.

> Is there some simple documentation that might be useful somewhere?
> Starting with a really simple problem (one group, two observations)?

  Here is an example showing the use of reshape() and analysis via aov() and lme() in the nlme package.

tolerance <-
read.table("http://www.ats.ucla.edu/stat/Splus/examples/alda/tolerance1.txt",

            sep=",", header=TRUE)

tolerance.long <- reshape(tolerance,

                          varying = list(c("tol11","tol12","tol13",
                                           "tol14", "tol15")),
                          v.names = c("tol"), timevar = "time",
                          times = 11:15, direction = "long")

tolerance.aov <- aov(tol ~ as.factor(time) * male + Error(id),
                     data = tolerance.long)

summary(tolerance.aov)

Error: id

     Df Sum Sq Mean Sq
male 1 0.085168 0.085168

Error: Within

                     Df  Sum Sq Mean Sq F value  Pr(>F)
as.factor(time)       4  2.8326  0.7081  3.0538 0.02236 *
male                  1  0.3024  0.3024  1.3039 0.25745
as.factor(time):male  4  0.1869  0.0467  0.2015 0.93670
Residuals            69 16.0002  0.2319
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

library(nlme)

tolerance.lme <- lme(tol ~ as.factor(time) * male, random = ~ 1 | id,
                     data = tolerance.long)

anova(tolerance.lme)
                     numDF denDF  F-value p-value
(Intercept)              1    56 353.9049  <.0001
as.factor(time)          4    56   5.1309  0.0014
male                     1    14   0.6071  0.4488
as.factor(time):male     4    56   0.3386  0.8508

  RSiteSearch("repeated measures") points to other examples, functions,
and documentation.


> Tom
>
> ______________________________________________
> R-help@stat.math.ethz.ch mailing list
>
https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
-- Chuck Cleland, Ph.D. NDRI, Inc. 71 West 23rd Street, 8th floor New York, NY 10010 tel: (212) 845-4495 (Tu, Th) tel: (732) 512-0171 (M, W, F) fax: (917) 438-0894 ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Received on Wed Jan 17 21:56:49 2007

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 17 Jan 2007 - 11:30:23 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.