Hello, My ultimate goal is a repeated measures (mixed model) ANOVA, however, my present question is about how to reorganize my data into the format that the ANOVA commands expect. In particular, how to collapse across trials. (I am using the tutorial at [http://personality-project.org/r/r.anova.html] for the mixed model ANOVA) The data I am using looks like this. A subject sees 10 trials per condition and there are 2 conditions. I want the average of all the reaction times (RTs) from a subject looking a one condition. I also want to retain List in the final output. Subj List Condition RT 2 1 C 338 2 1 C 227 2 1 C 430 2 1 C 621 2 1 C 255 2 1 C 348 2 1 C 280 2 1 C 356 2 1 C 272 2 1 C 346 3 2 C 489 3 2 C 426 3 2 C 352 3 2 C 351 3 2 C 349 3 2 C 403 3 2 C 336 3 2 C 278 3 2 C 365 3 2 C 271 2 1 D 360 2 1 D 374 2 1 D 326 2 1 D 363 2 1 D 290 2 1 D 458 2 1 D 295 2 1 D 362 2 1 D 285 2 1 D 277 3 2 D 354 3 2 D 352 3 2 D 362 3 2 D 360 3 2 D 334 3 2 D 365 3 2 D 335 3 2 D 391 3 2 D 272 3 2 D 618 The result should look like this: 2 1 C (AVG) 3 2 C (AVG) 2 1 D (AVG) 3 2 D (AVG) Where (AVG) is the average of the 10 trials. The above is a simplified case. How can I do this with multiple RT measurements per subject? In other words, the above, but with more than one RT column per subject. Resulting in: Subj List Condition RT1 RT2 RT3 RT4 RT5 2 1 C (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) 3 2 C (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) 2 1 D (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) 3 2 D (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) I've come across the apply and aggregate functions in online documentation, and I have the suspicion that they may be called for here, but their application isn't clear to me. I am fairly new to R. (I am using R 2.4.0 on Mac OS X.) I'd appreciate any insights. Pedro Alcocer University of Florida
On 12/16/06, Pedro Alcocer <pealco at gmail.com> wrote:> Hello, > > My ultimate goal is a repeated measures (mixed model) ANOVA, however, > my present question is about how to reorganize my data into the format > that the ANOVA commands expect. In particular, how to collapse across > trials. (I am using the tutorial at > [http://personality-project.org/r/r.anova.html] for the mixed model > ANOVA) > > The data I am using looks like this. A subject sees 10 trials per > condition and there are 2 conditions. I want the average of all the > reaction times (RTs) from a subject looking a one condition. I also > want to retain List in the final output.Have a look at the reshape package, http://had.co.nz/reshape. The following code should do what you want: install.packages("reshape") library(reshape) dfm <- melt(df, id=c("Subj", "List","Condition")) cast(Subj + List + Condition ~ variable , mean) (that should work with any number of rt variables) Hadley
Try aggregate(DF[4], DF[1:3], mean) On 12/16/06, Pedro Alcocer <pealco at gmail.com> wrote:> Hello, > > My ultimate goal is a repeated measures (mixed model) ANOVA, however, > my present question is about how to reorganize my data into the format > that the ANOVA commands expect. In particular, how to collapse across > trials. (I am using the tutorial at > [http://personality-project.org/r/r.anova.html] for the mixed model > ANOVA) > > The data I am using looks like this. A subject sees 10 trials per > condition and there are 2 conditions. I want the average of all the > reaction times (RTs) from a subject looking a one condition. I also > want to retain List in the final output. > > Subj List Condition RT > 2 1 C 338 > 2 1 C 227 > 2 1 C 430 > 2 1 C 621 > 2 1 C 255 > 2 1 C 348 > 2 1 C 280 > 2 1 C 356 > 2 1 C 272 > 2 1 C 346 > 3 2 C 489 > 3 2 C 426 > 3 2 C 352 > 3 2 C 351 > 3 2 C 349 > 3 2 C 403 > 3 2 C 336 > 3 2 C 278 > 3 2 C 365 > 3 2 C 271 > 2 1 D 360 > 2 1 D 374 > 2 1 D 326 > 2 1 D 363 > 2 1 D 290 > 2 1 D 458 > 2 1 D 295 > 2 1 D 362 > 2 1 D 285 > 2 1 D 277 > 3 2 D 354 > 3 2 D 352 > 3 2 D 362 > 3 2 D 360 > 3 2 D 334 > 3 2 D 365 > 3 2 D 335 > 3 2 D 391 > 3 2 D 272 > 3 2 D 618 > > The result should look like this: > 2 1 C (AVG) > 3 2 C (AVG) > 2 1 D (AVG) > 3 2 D (AVG) > > Where (AVG) is the average of the 10 trials. > > The above is a simplified case. How can I do this with multiple RT > measurements per subject? In other words, the above, but with more > than one RT column per subject. > > Resulting in: > > Subj List Condition RT1 RT2 RT3 RT4 RT5 > 2 1 C (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) > 3 2 C (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) > 2 1 D (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) > 3 2 D (AVG1) (AVG2) (AVG2) (AVG2) (AVG2) > > I've come across the apply and aggregate functions in online > documentation, and I have the suspicion that they may be called for > here, but their application isn't clear to me. I am fairly new to R. > > (I am using R 2.4.0 on Mac OS X.) > > I'd appreciate any insights. > > Pedro Alcocer > University of Florida > > ______________________________________________ > R-help at 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. >