User Tools

Site Tools


r:twoway_repeated_measure_anova

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
r:twoway_repeated_measure_anova [2024/05/08 08:33] – created hkimscilr:twoway_repeated_measure_anova [2025/04/30 09:00] (current) hkimscil
Line 1: Line 1:
 +see 
 +  * https://www.r-bloggers.com/2025/02/two-way-repeated-measures-anova-in-r/
 +  * https://www.r-bloggers.com/2015/08/two-way-anova-with-repeated-measures/
 +  * https://agroninfotech.blogspot.com/2020/06/two-way-repeated-measures-analysis-in-r.html
 +  * https://stackoverflow.com/questions/37497948/aov-error-term-in-r-whats-the-difference-bw-errorid-and-errorid-timevar
 +  * https://stats.stackexchange.com/questions/60108/how-to-write-the-error-term-in-repeated-measures-anova-in-r-errorsubject-vs-e
 +  * https://stats.stackexchange.com/questions/4700/what-is-the-difference-between-fixed-effect-random-effect-in-mixed-effect-model
 +
 ====== E.g. 1 ====== ====== E.g. 1 ======
 <code> <code>
Line 562: Line 570:
  
 </code> </code>
 +
 +====== E.g. 3 ======
 +<code>
 +demo1  <- read.csv("https://stats.idre.ucla.edu/stat/data/demo1.csv")
 +demo1 
 +str(demo1) ## 모든 변인이 int이므로 (숫자) factor로 바꿔야 한다
 +
 +## Convert variables to factor
 +demo1 <- within(demo1, {
 +  group <- factor(group)
 +  time <- factor(time)
 +  id <- factor(id)
 +}) ## 이제 pulse만 제외하고 모두 factor로 변환된 데이터
 +
 +str(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)
 +</code>
 +
 +<code>
 +> 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        0.397
 +group:time  2 0.0833 0.04167        0.397
 +Residuals  12 0.5000 0.04167               
 +
 +</code>
 +{{:pasted:20200611-142331.png?350}}
 +
 +===== demo2 =====
 +<code>
 +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
 +
 +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)
 +</code>
 +
 +{{:pasted:20200611-151520.png?350}}
 +
 +<code>
 +> 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          14    1
 +2          19    2
 +3          29    3
 +4          15    1
 +5          25    2
 +6          26    3
 +7          16    1
 +8          16    2
 +9          31    3
 +10  4        12    1
 +11  4        24    2
 +12  4        32    3
 +13  5        10    1
 +14  5        21    2
 +15  5        24    3
 +16  6        17    1
 +17  6        26    2
 +18  6        35    3
 +19  7        19    1
 +20  7        22    2
 +21  7        32    3
 +22  8        15    1
 +23  8        23    2
 +24  8        34    3
 +
 +> 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
 +
 +</code>
 +===== demo 3 =====
 +<code>
 +demo3 <- read.csv("https://stats.idre.ucla.edu/stat/data/demo3.csv")
 +## Convert variables to factor
 +demo3 <- within(demo3, {
 +  group <- factor(group)
 +  time <- factor(time)
 +  id <- factor(id)
 +})
 +
 +with(demo3, interaction.plot(time, group, pulse,
 +  ylim = c(10, 60), lty = c(1, 12), lwd = 3,
 +  ylab = "mean of pulse", xlab = "time", trace.label = "group"))
 +
 +demo3.aov <- aov(pulse ~ group * time + Error(id), data = demo3)
 +summary(demo3.aov)
 +</code>
 +
 +{{:pasted:20200611-151755.png?350}}
 +
 +<code>
 +> demo3 <- read.csv("https://stats.idre.ucla.edu/stat/data/demo3.csv")
 +> ## Convert variables to factor
 +> demo3 <- within(demo3, {
 ++     group <- factor(group)
 ++     time <- factor(time)
 ++     id <- factor(id)
 ++ })
 +
 +> with(demo3, interaction.plot(time, group, pulse,
 ++  ylim = c(10, 60), lty = c(1, 12), lwd = 3,
 ++  ylab = "mean of pulse", xlab = "time", trace.label = "group"))
 +
 +> demo3.aov <- aov(pulse ~ group * time + Error(id), data = demo3)
 +> summary(demo3.aov)
 +
 +Error: id
 +          Df Sum Sq Mean Sq F value  Pr(>F)    
 +group      1 2035.0  2035.0   343.1 1.6e-06 ***
 +Residuals  6   35.6     5.9                    
 +---
 +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 2830.3  1415.2   553.8 1.52e-12 ***
 +group:time  2  200.3   100.2    39.2 5.47e-06 ***
 +Residuals  12   30.7     2.6                     
 +---
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 +
 +
 +
 +</code>
 +
r/twoway_repeated_measure_anova.1715124813.txt.gz · Last modified: 2024/05/08 08:33 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki