The form of your data is termed "wide" and you want to reshape it to
"long" form and use aov with that.  This uses the reshape command
to produce the long form.  Alternately you could use cast and melt
in the reshape package to do that:

# read data
Lines <- "subj    therapy t0      t1      t2
1       a       80.5    82.2    54.23
2       a       84.9    85.6    56.83
3       a       81.5    81.4    54.30
1       b       83.8    95.2    59.67
2       b       83.3    94.3    59.20
3       b       86      91.5    59.17
1       c       80.7    80.2    53.63
2       c       89.4    80.1    56.50
3       c       91.8    86.4    59.40
"
DF <- read.table(textConnection(Lines), header = TRUE)

# reshape to long form
nm <- names(DF)[3:5]
long <- reshape(DF, dir = "long", varying = list(nm), times = nm,
  v.names = "value")
long$time <- factor(long$time)

# calculate
aov(value ~ therapy * time, data = long)

# ...etc

On 5/24/07, Sarti Maurizio <[EMAIL PROTECTED]> wrote:
> Dears members of R list,
> I have a technical question about conducting 2 way analysis of the variance
> (ANOVA) for repeated measures followed tukey test using R.
> my data are:
> There were 3 subj in all and 3 repeated measures for every time and therapy
> therapy = a,b,c
> time    = t1,t2,t3
> subj    = 1,2,3
>
> subj    therapy t0      t1      t2
> 1       a       80.5    82.2    54.23
> 2       a       84.9    85.6    56.83
> 3       a       81.5    81.4    54.30
> 1       b       83.8    95.2    59.67
> 2       b       83.3    94.3    59.20
> 3       b       86      91.5    59.17
> 1       c       80.7    80.2    53.63
> 2       c       89.4    80.1    56.50
> 3       c       91.8    86.4    59.40
>
> the code that I use is:
>
> rm(list=ls(all=TRUE))
> dati<- read.table("dati.txt", T)
> attach(dati)
> subj<- c( 1: 9, 1: 9,1:9)
> therapy<- factor( c( rep(" a", 3), rep(" b", 3), rep(" c", 3),
>                     rep(" a", 3), rep(" b", 3), rep(" c", 3),
>                     rep(" a",3), rep(" b", 3), rep(" c", 3)))
>
> time<- factor( c( rep(" t0", 9), rep(" t1", 9),rep(" t2", 9)))
> weight<- c( t0,t1,t2)
>
> time <- factor( time)
> therapy <- factor( therapy)
> subj <- factor( subj)
> summary( fm1<-aov( weight~time*therapy))
> fm1Tukey=TukeyHSD(fm1,"therapy",ordered = TRUE) ; fm1Tukey
> fm1Tukey=TukeyHSD(fm1,"time",ordered = TRUE) ; fm1Tukey
> fm1Tukey=TukeyHSD(fm1,"time:therapy",ordered = TRUE) ; fm1Tukey
>
> My question is - is that the correct way to do it??
> Very much obliged for your kind response
> Maurizio
>
> ******************************************************************************
> Maurizio Sarti, PhD
> IREA - CNR
> via Diocleziano,328 I-80124 Napoli (Italy)
> tel:+39-(0)81-5707999-(0)81-5704945  fax:+39-(0)81-5705734
> cell:+39-3204397891
> ******************************************************************************
> e-mail: [EMAIL PROTECTED] website: http://www.irea.cnr.it
>
> ______________________________________________
> 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.
>

______________________________________________
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.

Reply via email to