User Tools

Site Tools


repeated_measure_anova

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
repeated_measure_anova [2023/05/03 08:00] – [demo1] hkimscilrepeated_measure_anova [2024/05/08 08:31] hkimscil
Line 79: Line 79:
  
 -- Picture about here -- -- Picture about here --
 +{{:pasted:20240501-082722.png}} 
 +---- 
 +{{:pasted:20240501-082738.png}} 
 +----
   * but, $\text{SS}_\text{{within}}$ can be partitioned as    * but, $\text{SS}_\text{{within}}$ can be partitioned as 
     * $\text{SS}_{\text{ subjects}}$ and $\text{SS}_{\text{ error}}$     * $\text{SS}_{\text{ subjects}}$ and $\text{SS}_{\text{ error}}$
Line 258: Line 261:
 see {{:r:repeated_measures_anova_eg.xlsx}} see {{:r:repeated_measures_anova_eg.xlsx}}
 ===== demo 2 ===== ===== demo 2 =====
-<code> +see [[:r:repeated measure anova]] 
-# create data +===== Twoway repeated measure anova===== 
-df <- data.frame(patient=rep(1:5, each=4), +see [[:r:twoway repeated measure anova]]
-                 drug=rep(1:4, times=5), +
-                 response=c(30, 28, 16, 34, +
-                            14, 18, 10, 22, +
-                            24, 20, 18, 30, +
-                            38, 34, 20, 44, +
-                            26, 28, 14, 30))+
  
-# view data 
-df 
- 
-# within sujbect anova 
-within.aov.mod <- aov(response~drug+Error(patient), data=df) 
-</code> 
- 
-<code> 
-> #create data 
-> df <- data.frame(patient=rep(1:5, each=4), 
-+                  drug=rep(1:4, times=5), 
-+                  response=c(30, 28, 16, 34, 
-+                             14, 18, 10, 22, 
-+                             24, 20, 18, 30, 
-+                             38, 34, 20, 44, 
-+                             26, 28, 14, 30)) 
- 
-> #view data 
-> df 
-   patient drug response 
-1        1    1       30 
-2        1    2       28 
-3        1    3       16 
-4        1    4       34 
-5        2    1       14 
-6        2    2       18 
-7        2    3       10 
-8        2    4       22 
-9        3    1       24 
-10          2       20 
-11          3       18 
-12          4       30 
-13          1       38 
-14          2       34 
-15          3       20 
-16          4       44 
-17          1       26 
-18          2       28 
-19          3       14 
-20          4       30 
- 
-> #within sujbect anova 
-> within.aov.mod <- aov(response~drug+Error(patient), data=df) 
- 
- 
-> summary(within.aov.mod) 
- 
-Error: patient 
-          Df Sum Sq Mean Sq F value Pr(>F) 
-Residuals  1   67.6    67.6                
- 
-Error: Within 
-          Df Sum Sq Mean Sq F value Pr(>F) 
-drug         11.6   11.56   0.139  0.714 
-Residuals 17 1412.6   83.10  
-</code> 
- 
-====== two way ====== 
-<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> 
 ====== reference ====== ====== reference ======
   * [[http://wwwstage.valpo.edu/other/dabook/ch12/c12-1.htm|Repeated measures one-way ANOVA]] by Akkelin   * [[http://wwwstage.valpo.edu/other/dabook/ch12/c12-1.htm|Repeated measures one-way ANOVA]] by Akkelin
repeated_measure_anova.txt · Last modified: 2024/05/13 08:39 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki