factorial_anova
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
factorial_anova [2024/05/01 08:36] – [Materials and links] hkimscil | factorial_anova [2024/09/24 08:33] (current) – [예 1] hkimscil | ||
---|---|---|---|
Line 387: | Line 387: | ||
만약에 손으로 계산했다면 R에서 | 만약에 손으로 계산했다면 R에서 | ||
< | < | ||
- | pf(15.43, 1, 18, lower.tail=F) | + | de <- read.csv(" |
- | pf(62.04, 2, 18, lower.tail=F) | + | de |
- | pf(6.75, 2, 18, lower.tail=F) | + | |
+ | 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) | ||
</ | </ | ||
- | < | + | |
- | > pf(15.43, 1, 18, lower.tail=F) | + | |
- | [1] 0.000985713 | + | |
- | > pf(62.04, 2, 18, lower.tail=F) | + | |
- | [1] 8.40729e-09 | + | |
- | > pf(6.75, 2, 18, lower.tail=F) | + | |
- | [1] 0.006496173 | + | |
- | > | + | |
- | > </ | + | |
===== 예 2. cookie experiment ===== | ===== 예 2. cookie experiment ===== |
factorial_anova.1714520199.txt.gz · Last modified: 2024/05/01 08:36 by hkimscil