factorial_anova
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| factorial_anova [2025/09/25 01:36] – [e.g.,] hkimscil | factorial_anova [2026/04/19 11:10] (current) – hkimscil | ||
|---|---|---|---|
| Line 386: | Line 386: | ||
| 만약에 손으로 계산했다면 R에서 | 만약에 손으로 계산했다면 R에서 | ||
| + | <tabbox rs.anova.detergent> | ||
| < | < | ||
| - | de <- read.csv(" | + | de <- read.csv(" |
| de | de | ||
| Line 524: | Line 525: | ||
| summary(de.typenova) | summary(de.typenova) | ||
| </ | </ | ||
| + | <tabbox ro.anova.detergent> | ||
| + | < | ||
| + | > de <- read.csv(" | ||
| + | > de | ||
| + | type w.temp cleanness | ||
| + | 1 | ||
| + | 2 | ||
| + | 3 | ||
| + | 4 | ||
| + | 5 | ||
| + | 6 | ||
| + | 7 | ||
| + | 8 | ||
| + | 9 | ||
| + | 10 1 2 9 | ||
| + | 11 1 2 8 | ||
| + | 12 1 2 10 | ||
| + | 13 2 2 13 | ||
| + | 14 2 2 15 | ||
| + | 15 2 2 12 | ||
| + | 16 2 2 12 | ||
| + | 17 1 3 10 | ||
| + | 18 1 3 12 | ||
| + | 19 1 3 11 | ||
| + | 20 1 3 9 | ||
| + | 21 2 3 12 | ||
| + | 22 2 3 13 | ||
| + | 23 2 3 10 | ||
| + | 24 2 3 13 | ||
| + | > | ||
| + | > de$type <- factor(de$type, | ||
| + | > de$w.temp <- factor(de$w.temp, | ||
| + | > de | ||
| + | type w.temp cleanness | ||
| + | 1 super | ||
| + | 2 super | ||
| + | 3 super | ||
| + | 4 super | ||
| + | 5 | ||
| + | 6 | ||
| + | 7 | ||
| + | 8 | ||
| + | 9 super | ||
| + | 10 super | ||
| + | 11 super | ||
| + | 12 super | ||
| + | 13 best | ||
| + | 14 best | ||
| + | 15 best | ||
| + | 16 best | ||
| + | 17 super hot 10 | ||
| + | 18 super hot 12 | ||
| + | 19 super hot 11 | ||
| + | 20 super hot 9 | ||
| + | 21 best hot 12 | ||
| + | 22 best hot 13 | ||
| + | 23 best hot 10 | ||
| + | 24 best hot 13 | ||
| + | > | ||
| + | > de.typenova <- aov(cleanness ~ type * w.temp, data=de) | ||
| + | > summary(de.typenova) | ||
| + | Df Sum Sq Mean Sq F value | ||
| + | type | ||
| + | w.temp | ||
| + | type: | ||
| + | Residuals | ||
| + | --- | ||
| + | Signif. codes: | ||
| + | > | ||
| + | > with(de, interaction.plot(x.factor=type, | ||
| + | + | ||
| + | + | ||
| + | + | ||
| + | + | ||
| + | > | ||
| + | > attach(de) | ||
| + | > table(type, w.temp) | ||
| + | | ||
| + | type cold warm hot | ||
| + | super 4 4 4 | ||
| + | best | ||
| + | > n.sub <- length(cleanness) | ||
| + | > n.type.group <- 2 | ||
| + | > n.w.temp.group <- 3 | ||
| + | > | ||
| + | > tapply(cleanness, | ||
| + | cold warm hot | ||
| + | super 5 8.5 10.5 | ||
| + | best 5 13.0 12.0 | ||
| + | > df.within.each <- tapply(cleanness, | ||
| + | > n.within.each <- df.within.each + 1 | ||
| + | > df.within <- sum(df.within.each) # df within | ||
| + | > | ||
| + | > var.within <- tapply(cleanness, | ||
| + | > ss.within.each <- tapply(cleanness, | ||
| + | > ss.within.each | ||
| + | cold warm hot | ||
| + | super 2 5 5 | ||
| + | best | ||
| + | > ss.within <- sum(ss.within.each) # ss.within | ||
| + | > ss.within | ||
| + | [1] 28 | ||
| + | > | ||
| + | > | ||
| + | > interaction.plot(type, | ||
| + | > | ||
| + | > mean.type <- tapply(cleanness, | ||
| + | > mean.w.temp <- tapply(cleanness, | ||
| + | > mean.type | ||
| + | super best | ||
| + | 8 10 | ||
| + | > mean.w.temp | ||
| + | | ||
| + | 5.00 10.75 11.25 | ||
| + | > | ||
| + | > var.type <- tapply(cleanness, | ||
| + | > var.w.temp <- tapply(cleanness, | ||
| + | > | ||
| + | > | ||
| + | > mean.tot <- mean(cleanness) | ||
| + | > var.tot <- var(cleanness) | ||
| + | > n.sub <- length(cleanness) | ||
| + | > df.tot <- n.sub - 1 | ||
| + | > ss.tot <- var.tot * df.tot | ||
| + | > | ||
| + | > ## between | ||
| + | > mean.each <- tapply(cleanness, | ||
| + | > mean.each | ||
| + | cold warm hot | ||
| + | super 5 8.5 10.5 | ||
| + | best 5 13.0 12.0 | ||
| + | > mean.tot <- mean(cleanness) | ||
| + | > mean.tot | ||
| + | [1] 9 | ||
| + | > n.each <- tapply(cleanness, | ||
| + | > n.each | ||
| + | cold warm hot | ||
| + | super 4 4 4 | ||
| + | best | ||
| + | > n.type.each <- tapply(cleanness, | ||
| + | > n.w.temp.each <- tapply(cleanness, | ||
| + | > | ||
| + | > ss.w.bet <- sum(n.each*(mean.each-mean.tot)^2) | ||
| + | > ss.w.bet | ||
| + | [1] 238 | ||
| + | > | ||
| + | > ss.tot | ||
| + | [1] 266 | ||
| + | > ss.within | ||
| + | [1] 28 | ||
| + | > ss.w.bet | ||
| + | [1] 238 | ||
| + | > ss.w.bet + ss.within | ||
| + | [1] 266 | ||
| + | > | ||
| + | > ss.type <- sum(n.type.each * ((mean.tot - mean.type)^2)) | ||
| + | > ss.w.temp <- sum(n.w.temp.each * ((mean.tot - mean.w.temp)^2)) | ||
| + | > ss.type | ||
| + | [1] 24 | ||
| + | > ss.w.temp | ||
| + | [1] 193 | ||
| + | > ss.type.w.temp <- ss.w.bet - (ss.type + ss.w.temp) | ||
| + | > ss.type.w.temp | ||
| + | [1] 21 | ||
| + | > | ||
| + | > ss.tot | ||
| + | [1] 266 | ||
| + | > ss.w.bet | ||
| + | [1] 238 | ||
| + | > ss.within | ||
| + | [1] 28 | ||
| + | > ss.type | ||
| + | [1] 24 | ||
| + | > ss.w.temp | ||
| + | [1] 193 | ||
| + | > ss.type.w.temp | ||
| + | [1] 21 | ||
| + | > | ||
| + | > df.tot <- n.sub - 1 | ||
| + | > df.w.bet <- (n.type.group * n.w.temp.group) - 1 | ||
| + | > df.type <- n.type.group - 1 | ||
| + | > df.w.temp <- n.w.temp.group - 1 | ||
| + | > df.type.w.temp <- df.w.bet - (df.type + df.w.temp) | ||
| + | > df.within <- sum(df.within.each) | ||
| + | > | ||
| + | > df.tot | ||
| + | [1] 23 | ||
| + | > df.w.bet | ||
| + | [1] 5 | ||
| + | > df.type | ||
| + | [1] 1 | ||
| + | > df.w.temp | ||
| + | [1] 2 | ||
| + | > df.type.w.temp | ||
| + | [1] 2 | ||
| + | > df.within | ||
| + | [1] 18 | ||
| + | > | ||
| + | > ms.type <- ss.type / df.type | ||
| + | > ms.w.temp <- ss.w.temp / df.w.temp | ||
| + | > ms.type.w.temp <- ss.type.w.temp / df.type.w.temp | ||
| + | > ms.within <- ss.within / df.within | ||
| + | > | ||
| + | > ms.type | ||
| + | [1] 24 | ||
| + | > ms.w.temp | ||
| + | [1] 96.5 | ||
| + | > ms.type.w.temp | ||
| + | [1] 10.5 | ||
| + | > ms.within | ||
| + | [1] 1.555556 | ||
| + | > | ||
| + | > | ||
| + | > f.type <- ms.type / ms.within | ||
| + | > f.w.temp <- ms.w.temp / ms.within | ||
| + | > f.type.w.temp <- ms.type.w.temp / ms.within | ||
| + | > | ||
| + | > alpha <- .05 | ||
| + | > # confidence interval | ||
| + | > ci <- 1 - alpha | ||
| + | > | ||
| + | > f.type | ||
| + | [1] 15.42857 | ||
| + | > # 봐야할 F분포표에서의 F-value | ||
| + | > # qt 처럼 qf 사용 | ||
| + | > # qf(alpha, df.w.between, | ||
| + | > qf(ci, df.type, df.within) | ||
| + | [1] 4.413873 | ||
| + | > # 혹은 | ||
| + | > # qf(alpha, df.type, df.within, lower.tail = F) | ||
| + | > # 도 마찬가지 | ||
| + | > pf(f.type, df.type, df.within, lower.tail = F) | ||
| + | [1] 0.0009861125 | ||
| + | > | ||
| + | > f.w.temp | ||
| + | [1] 62.03571 | ||
| + | > qf(ci, df.w.temp, df.within) | ||
| + | [1] 3.554557 | ||
| + | > pf(f.w.temp, | ||
| + | [1] 8.411856e-09 | ||
| + | > | ||
| + | > f.type.w.temp | ||
| + | [1] 6.75 | ||
| + | > qf(ci, df.type.w.temp, | ||
| + | [1] 3.554557 | ||
| + | > pf(f.type.w.temp, | ||
| + | [1] 0.006496173 | ||
| + | > | ||
| + | > # aov result | ||
| + | > summary(de.typenova) | ||
| + | Df Sum Sq Mean Sq F value | ||
| + | type | ||
| + | w.temp | ||
| + | type: | ||
| + | Residuals | ||
| + | --- | ||
| + | S | ||
| + | </ | ||
| + | </ | ||
| ===== 예 2. cookie experiment ===== | ===== 예 2. cookie experiment ===== | ||
factorial_anova.txt · Last modified: by hkimscil
