MANOVA Analysis of Time Series Data: Difference between revisions

From CCN Wiki
Jump to navigation Jump to search
(Created page with "Analyses of multiple (rather than repeated) measures for an individual should be carried out using MANOVA. It turns out it's fairly simple to do in R. =Read in Table= Assume...")
 
 
(3 intermediate revisions by the same user not shown)
Line 10: Line 10:


Read the data into a data frame:
Read the data into a data frame:
  dat=read.table('training_accuracy.txt', header=TRUE, sep='\t')
  > dat=read.table('training_accuracy.txt', header=TRUE, sep='\t')


=Run the MANOVA=
=Run the MANOVA=
The first thing to point out is that you need to have sufficient samples for the number of columns. If you are comparing 64 time points for two groups, you will need 128 (? I should know this maybe) samples, or else R will complain.
The first thing to point out is that you need to have sufficient samples for the number of columns. If you are comparing 64 time points for two groups, you will need 128 (? I should know this maybe) samples, or else R will complain.
Assuming you have sufficient data, the MANOVA is easy. The first column is your grouping variable. The rest of the columns, T01 to TNN are your time points. Rather than type them all out when calling the manova function, you can just refer to them by index:
Assuming you have sufficient data, the MANOVA is easy. In the above example, the first column is your grouping variable. The rest of the columns, T01 to TNN are your time points. Rather than type them all out when calling the manova function, you can just refer to them by index:
  fit=manova(as.matrix(dat[,2:65]) ~ X, data=dat)
  > fit=manova(as.matrix(dat[,2:65]) ~ X, data=dat)
Here, I am running the MANOVA on all 64 time points. Since column 1 is my grouping variable, X, the 64 variables are in columns 2 to 65.
Here, I am running the MANOVA on all 64 time points. Since column 1 is my grouping variable, X, the 64 dependent variables are in columns 2 to 65.
It's trivially easy to analyze a smaller window:
It's trivially easy to analyze a smaller window:
   fit=manova(as.matrix(dat[,24:26]) ~ X, data=dat)
   > fit=manova(as.matrix(dat[,24:26]) ~ X, data=dat)


=Get the MANOVA Results=
=Get the MANOVA Results=

Latest revision as of 11:28, 2 October 2018

Analyses of multiple (rather than repeated) measures for an individual should be carried out using MANOVA. It turns out it's fairly simple to do in R.

Read in Table

Assume you have your data structured as follows:

X     T01     T02     T03     ...     TNN
a     .33     .38     .43             .78
a     .32     .39     .47             .80
b     .36     .41     .44             .77
b     .31     .35     .40             .81

Read the data into a data frame:

> dat=read.table('training_accuracy.txt', header=TRUE, sep='\t')

Run the MANOVA

The first thing to point out is that you need to have sufficient samples for the number of columns. If you are comparing 64 time points for two groups, you will need 128 (? I should know this maybe) samples, or else R will complain. Assuming you have sufficient data, the MANOVA is easy. In the above example, the first column is your grouping variable. The rest of the columns, T01 to TNN are your time points. Rather than type them all out when calling the manova function, you can just refer to them by index:

> fit=manova(as.matrix(dat[,2:65]) ~ X, data=dat)

Here, I am running the MANOVA on all 64 time points. Since column 1 is my grouping variable, X, the 64 dependent variables are in columns 2 to 65. It's trivially easy to analyze a smaller window:

 > fit=manova(as.matrix(dat[,24:26]) ~ X, data=dat)

Get the MANOVA Results

> summary(fit)
          Df  Pillai approx F num Df den Df Pr(>F)
X           1 0.56045   1.2551     64     63 0.1841