User Tools

Site Tools


r:repeated_measures_anova

This is an old revision of the document!


Repeated measures ANOVA

e.g. 1

demo1  <- read.csv("https://stats.idre.ucla.edu/stat/data/demo1.csv")
## Convert variables to factor
demo1 <- within(demo1, {
  group <- factor(group)
  time <- factor(time)
  id <- factor(id)
})

demo1

par(cex = .6)

with(demo1, interaction.plot(time, group, pulse,
  ylim = c(5, 20), lty= c(1, 12), lwd = 3,
  ylab = "mean of pulse", xlab = "time", trace.label = "group"))

demo1.aov <- aov(pulse ~ group * time + Error(id), data = demo1)
summary(demo1.aov)

> 
> demo1  <- read.csv("https://stats.idre.ucla.edu/stat/data/demo1.csv")
> ## Convert variables to factor
> demo1 <- within(demo1, {
+     group <- factor(group)
+     time <- factor(time)
+     id <- factor(id)
+ })
> 
> demo1
   id group pulse time
1   1     1    10    1
2   1     1    10    2
3   1     1    10    3
4   2     1    10    1
5   2     1    10    2
6   2     1    10    3
7   3     1    10    1
8   3     1    10    2
9   3     1    10    3
10  4     1    10    1
11  4     1    10    2
12  4     1    10    3
13  5     2    15    1
14  5     2    15    2
15  5     2    15    3
16  6     2    15    1
17  6     2    15    2
18  6     2    15    3
19  7     2    16    1
20  7     2    15    2
21  7     2    15    3
22  8     2    15    1
23  8     2    15    2
24  8     2    15    3
> par(cex = .6)
> 
> with(demo1, interaction.plot(time, group, pulse,
+                              ylim = c(5, 20), lty= c(1, 12), lwd = 3,
+                              ylab = "mean of pulse", xlab = "time", trace.label = "group"))
> 
> demo1.aov <- aov(pulse ~ group * time + Error(id), data = demo1)
> summary(demo1.aov)

Error: id
          Df Sum Sq Mean Sq F value  Pr(>F)    
group      1 155.04  155.04    3721 1.3e-09 ***
Residuals  6   0.25    0.04                    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Error: Within
           Df Sum Sq Mean Sq F value Pr(>F)
time        2 0.0833 0.04167       1  0.397
group:time  2 0.0833 0.04167       1  0.397
Residuals  12 0.5000 0.04167               
> 
> 

e.g. 2

demo2 <- read.csv("https://stats.idre.ucla.edu/stat/data/demo2.csv")
## Convert variables to factor
demo2 <- within(demo2, {
  group <- factor(group)
  time <- factor(time)
  id <- factor(id)
})

demo2

par(cex = .6)

with(demo2, interaction.plot(time, group, pulse,
  ylim = c(10, 40), lty = c(1, 12), lwd = 3,
  ylab = "mean of pulse", xlab = "time", trace.label = "group"))

demo2.aov <- aov(pulse ~ group * time + Error(id), data = demo2)
summary(demo2.aov)

> 
> demo2 <- read.csv("https://stats.idre.ucla.edu/stat/data/demo2.csv")
> ## Convert variables to factor
> demo2 <- within(demo2, {
+     group <- factor(group)
+     time <- factor(time)
+     id <- factor(id)
+ })
> 
> demo2
   id group pulse time
1   1     1    14    1
2   1     1    19    2
3   1     1    29    3
4   2     1    15    1
5   2     1    25    2
6   2     1    26    3
7   3     1    16    1
8   3     1    16    2
9   3     1    31    3
10  4     1    12    1
11  4     1    24    2
12  4     1    32    3
13  5     2    10    1
14  5     2    21    2
15  5     2    24    3
16  6     2    17    1
17  6     2    26    2
18  6     2    35    3
19  7     2    19    1
20  7     2    22    2
21  7     2    32    3
22  8     2    15    1
23  8     2    23    2
24  8     2    34    3
> 
> par(cex = .6)
> 
> with(demo2, interaction.plot(time, group, pulse,
+                              ylim = c(10, 40), lty = c(1, 12), lwd = 3,
+                              ylab = "mean of pulse", xlab = "time", trace.label = "group"))
> 
> demo2.aov <- aov(pulse ~ group * time + Error(id), data = demo2)
> summary(demo2.aov)

Error: id
          Df Sum Sq Mean Sq F value Pr(>F)
group      1  15.04   15.04   0.836  0.396
Residuals  6 107.92   17.99               

Error: Within
           Df Sum Sq Mean Sq F value   Pr(>F)    
time        2  978.2   489.1  53.684 1.03e-06 ***
group:time  2    1.1     0.5   0.059    0.943    
Residuals  12  109.3     9.1                     
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> 
r/repeated_measures_anova.1591199365.txt.gz · Last modified: 2020/06/04 00:49 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki