r:oneway_anova
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| r:oneway_anova [2020/10/12 16:10] – hkimscil | r:oneway_anova [2022/04/28 10:26] (current) – [data] hkimscil | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Oneway ANOVA ====== | ====== Oneway ANOVA ====== | ||
| + | ===== data ===== | ||
| + | see https:// | ||
| + | |||
| | (온도조건)x1 | | (온도조건)x1 | ||
| | (온도조건)x2 | | (온도조건)x2 | ||
| Line 160: | Line 163: | ||
| 30 46.2 hi | 30 46.2 hi | ||
| </ | </ | ||
| + | ===== ANOVA by hand ===== | ||
| < | < | ||
| mean.by.group.xs <- tapply(xs$score, | mean.by.group.xs <- tapply(xs$score, | ||
| Line 197: | Line 200: | ||
| < | < | ||
| mean.xs <- mean(xs$score) | mean.xs <- mean(xs$score) | ||
| + | n.total <- length(xs$score) | ||
| + | df.total <- n.total-1 | ||
| + | n.group.xs <- 3 | ||
| + | df.between <- n.group.xs -1 | ||
| + | df.within <- sum(df.by.group.xs) | ||
| + | n.total | ||
| + | df.total | ||
| + | df.between | ||
| + | df.within | ||
| + | |||
| ss.total <- var(xs$score) * (length(xs$score)-1) | ss.total <- var(xs$score) * (length(xs$score)-1) | ||
| + | ss.total <- var(xs$score) * df.total | ||
| ss.between <- sum(n.by.group.xs * (mean.by.group.xs - mean.xs)^2) | ss.between <- sum(n.by.group.xs * (mean.by.group.xs - mean.xs)^2) | ||
| ss.within <- sum(var.by.group.xs * df.by.group.xs) | ss.within <- sum(var.by.group.xs * df.by.group.xs) | ||
| + | ss.total | ||
| + | ss.between | ||
| + | ss.within | ||
| + | ss.total | ||
| + | ss.between + ss.within | ||
| + | ms.between <- ss.between/ | ||
| + | ms.within <- ss.within/ | ||
| + | ms.total <- ss.total/ | ||
| + | |||
| + | ms.total | ||
| + | ms.between | ||
| + | ms.within | ||
| + | |||
| + | f.calculated <- ms.between/ | ||
| + | f.calculated | ||
| + | var(xs$score) | ||
| </ | </ | ||
| + | |||
| + | |||
| < | < | ||
| - | > x.mod <- aov(values~ind,data=xs) | + | > mean.xs <- mean(xs$score) |
| + | > n.total <- length(xs$score) | ||
| + | > df.total <- n.total-1 | ||
| + | > n.group.xs <- 3 | ||
| + | > df.between <- n.group.xs -1 | ||
| + | > df.within <- sum(df.by.group.xs) | ||
| + | > n.total | ||
| + | [1] 30 | ||
| + | > df.total | ||
| + | [1] 29 | ||
| + | > df.between | ||
| + | [1] 2 | ||
| + | > df.within | ||
| + | [1] 27 | ||
| + | > | ||
| + | > ss.total <- var(xs$score) * (length(xs$score)-1) | ||
| + | > ss.total <- var(xs$score) * df.total | ||
| + | > ss.between <- sum(n.by.group.xs * (mean.by.group.xs - mean.xs)^2) | ||
| + | > ss.within <- sum(var.by.group.xs * df.by.group.xs) | ||
| + | > ss.total | ||
| + | [1] 175.695 | ||
| + | > ss.between | ||
| + | [1] 156.302 | ||
| + | > ss.within | ||
| + | [1] 19.393 | ||
| + | > ss.total | ||
| + | [1] 175.695 | ||
| + | > ss.between + ss.within | ||
| + | [1] 175.695 | ||
| + | > | ||
| + | > ms.between <- ss.between/ | ||
| + | > ms.within <- ss.within/ | ||
| + | > ms.total <- ss.total/ | ||
| + | > | ||
| + | > ms.total | ||
| + | [1] 6.058448 | ||
| + | > ms.between | ||
| + | [1] 78.151 | ||
| + | > ms.within | ||
| + | [1] 0.7182593 | ||
| + | > | ||
| + | > f.calculated <- ms.between/ | ||
| + | > f.calculated | ||
| + | [1] 108.8061 | ||
| + | > var(xs$score) | ||
| + | [1] 6.058448 | ||
| + | > | ||
| + | </ | ||
| + | ===== ANOVA function (aov) ===== | ||
| + | |||
| + | < | ||
| + | x.mod <- aov(score~temp, | ||
| + | x.mod | ||
| + | summary(x.mod) | ||
| + | TukeyHSD(x.mod) | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | > x.mod <- aov(score~temp, data=xs) | ||
| > x.mod | > x.mod | ||
| Call: | Call: | ||
| - | | + | |
| Terms: | Terms: | ||
| - | ind Residuals | + | |
| Sum of Squares | Sum of Squares | ||
| Deg. of Freedom | Deg. of Freedom | ||
| Line 217: | Line 307: | ||
| > summary(x.mod) | > summary(x.mod) | ||
| Df Sum Sq Mean Sq F value Pr(> | Df Sum Sq Mean Sq F value Pr(> | ||
| - | ind | + | temp 2 156.30 |
| Residuals | Residuals | ||
| --- | --- | ||
| Line 227: | Line 317: | ||
| 95% family-wise confidence level | 95% family-wise confidence level | ||
| - | Fit: aov(formula = values | + | Fit: aov(formula = score ~ temp, data = xs) |
| - | $ind | + | $temp |
| - | | + | |
| - | x2-x1 -4.52 -5.459735 -3.5802652 0.0000000 | + | mid-low -4.52 -5.459735 -3.5802652 0.0000000 |
| - | x3-x1 -5.11 -6.049735 -4.1702652 0.0000000 | + | hi-low |
| - | x3-x2 -0.59 -1.529735 | + | hi-mid |
| - | + | ||
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | | + | |
| - | 51.46 46.94 46.35 </ | + | |
| - | + | ||
| - | + | ||
| - | SS< | + | |
| - | < | + | |
| - | > mx1 <- mean(x1) | + | |
| - | > mx2 <- mean(x2) | + | |
| - | > mx3 <- mean(x3) | + | |
| - | + | ||
| - | > x2ss <- 10*((meanxs - mx2)^2) | + | |
| - | > x3ss <- 10*((meanxs - mx3)^2) | + | |
| - | > x1ss <- 10*((meanxs - mx1)^2) | + | |
| - | > xss <- x1ss+x2ss+x3ss | + | |
| - | > xss | + | |
| - | [1] 156.302 | + | |
| - | </ | + | |
| + | > </ | ||
| ====== E.g. 1 ====== | ====== E.g. 1 ====== | ||
r/oneway_anova.1602486654.txt.gz · Last modified: by hkimscil
