factorial_anova
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
factorial_anova [2020/10/12 17:34] – [예] hkimscil | factorial_anova [2024/09/24 08:33] (current) – [예 1] hkimscil | ||
---|---|---|---|
Line 290: | Line 290: | ||
< | < | ||
- | de <- read.csv(" | + | de <- read.csv(" |
de | de | ||
Line 309: | Line 309: | ||
</ | </ | ||
- | {{:pasted:20200529-165842.png}} | + | < |
+ | > 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.anova <- aov(cleanness ~ type * w.temp, data=de) | ||
+ | > summary(de.anova) | ||
+ | Df Sum Sq Mean Sq F value | ||
+ | type | ||
+ | w.temp | ||
+ | type: | ||
+ | Residuals | ||
+ | --- | ||
+ | Signif. codes: | ||
+ | > | ||
+ | > with(de, interaction.plot(x.factor=type, | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | + | ||
+ | > | ||
+ | > | ||
+ | </ | ||
+ | {{:pasted:20240429-083635.png}} | ||
+ | |||
+ | 만약에 손으로 계산했다면 R에서 | ||
+ | < | ||
+ | de <- read.csv(" | ||
+ | de | ||
+ | |||
+ | de$type <- factor(de$type, | ||
+ | de$w.temp <- factor(de$w.temp, | ||
+ | de | ||
+ | |||
+ | de.typenova <- aov(cleanness ~ type * w.temp, data=de) | ||
+ | summary(de.typenova) | ||
+ | |||
+ | with(de, interaction.plot(x.factor=type, | ||
+ | trace.factor=w.temp, | ||
+ | fun=mean, type=" | ||
+ | ylab=" | ||
+ | pch=c(1, | ||
+ | |||
+ | attach(de) | ||
+ | table(type, w.temp) | ||
+ | n.sub <- length(cleanness) | ||
+ | n.type.group <- 2 | ||
+ | n.w.temp.group <- 3 | ||
+ | |||
+ | tapply(cleanness, | ||
+ | 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 | ||
+ | ss.within <- sum(ss.within.each) # ss.within | ||
+ | ss.within | ||
+ | |||
+ | |||
+ | interaction.plot(type, | ||
+ | |||
+ | mean.type <- tapply(cleanness, | ||
+ | mean.w.temp <- tapply(cleanness, | ||
+ | mean.type | ||
+ | mean.w.temp | ||
+ | |||
+ | 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 | ||
+ | mean.tot <- mean(cleanness) | ||
+ | mean.tot | ||
+ | n.each <- tapply(cleanness, | ||
+ | n.each | ||
+ | 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 | ||
+ | |||
+ | ss.tot | ||
+ | ss.within | ||
+ | ss.w.bet | ||
+ | ss.w.bet + ss.within | ||
+ | |||
+ | 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 | ||
+ | ss.w.temp | ||
+ | ss.type.w.temp <- ss.w.bet - (ss.type + ss.w.temp) | ||
+ | ss.type.w.temp | ||
+ | |||
+ | ss.tot | ||
+ | ss.w.bet | ||
+ | ss.within | ||
+ | ss.type | ||
+ | ss.w.temp | ||
+ | ss.type.w.temp | ||
+ | |||
+ | 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 | ||
+ | df.w.bet | ||
+ | df.type | ||
+ | df.w.temp | ||
+ | df.type.w.temp | ||
+ | df.within | ||
+ | |||
+ | 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 | ||
+ | ms.w.temp | ||
+ | ms.type.w.temp | ||
+ | ms.within | ||
+ | |||
+ | |||
+ | 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 | ||
+ | # 봐야할 F분포표에서의 F-value | ||
+ | # qt 처럼 qf 사용 | ||
+ | # qf(alpha, df.w.between, | ||
+ | qf(ci, df.type, df.within) | ||
+ | # 혹은 | ||
+ | # qf(alpha, df.type, df.within, lower.tail = F) | ||
+ | # 도 마찬가지 | ||
+ | pf(f.type, df.type, df.within, lower.tail = F) | ||
+ | |||
+ | f.w.temp | ||
+ | qf(ci, df.w.temp, df.within) | ||
+ | pf(f.w.temp, | ||
+ | |||
+ | f.type.w.temp | ||
+ | qf(ci, df.type.w.temp, | ||
+ | pf(f.type.w.temp, | ||
+ | |||
+ | # aov result | ||
+ | summary(de.typenova) | ||
+ | </ | ||
- | ===== 예 ===== | + | ===== 예 2. cookie experiment |
* {{: | * {{: | ||
Line 395: | Line 610: | ||
| a R Squared = .102 (Adjusted R Squared = .066) |||||| | | a R Squared = .102 (Adjusted R Squared = .066) |||||| | ||
+ | 데이터 파일 | ||
+ | {{: | ||
+ | 손으로 계산하기 | ||
+ | {{: | ||
- | {{http:// | ||
< | < | ||
cookies <- read.csv(" | cookies <- read.csv(" | ||
Line 664: | Line 882: | ||
====== Materials and links ====== | ====== Materials and links ====== | ||
* {{: | * {{: | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | * http:// | ||
- | {{tag>factorial anova, | + | {{tag>factorial_anova |
factorial_anova.1602491649.txt.gz · Last modified: 2020/10/12 17:34 by hkimscil