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
repeated_measure_anova [2023/05/03 08:00] – [demo1] hkimscilrepeated_measure_anova [2024/05/08 08:31] (current) 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.1683068447.txt.gz · Last modified: 2023/05/03 08:00 by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki