c:ms:2024:w07_anova_note
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| c:ms:2024:w07_anova_note [2024/04/08 08:47] – created hkimscil | c:ms:2024:w07_anova_note [2024/04/17 08:23] (current) – hkimscil | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| # 가설 | # 가설 | ||
| set.seed(201) | set.seed(201) | ||
| + | ss <- 16 | ||
| rnorm2 <- function(n, | rnorm2 <- function(n, | ||
| - | A <- rnorm2(16, 26, sqrt(600/ | + | A <- rnorm2(ss, 26, sqrt(600/ |
| - | B <- rnorm2(16, 24, sqrt(750/ | + | B <- rnorm2(ss, 24, sqrt(750/ |
| - | C <- rnorm2(16, 19, sqrt(900/ | + | C <- rnorm2(ss, 19, sqrt(900/ |
| A <- c(A) | A <- c(A) | ||
| B <- c(B) | B <- c(B) | ||
| C <- c(C) | C <- c(C) | ||
| + | A | ||
| + | B | ||
| + | C | ||
| # 평균구하기 | # 평균구하기 | ||
| Line 19: | Line 23: | ||
| mean(B) | mean(B) | ||
| mean(C) | mean(C) | ||
| + | |||
| + | # just checking | ||
| + | var(A) | ||
| + | var(B) | ||
| + | var(C) | ||
| + | |||
| + | # 각 그룹의 SS값은? | ||
| # 3 샘플을 합치기 | # 3 샘플을 합치기 | ||
| Line 35: | Line 46: | ||
| mean.tot <- mean(comb3$values) | mean.tot <- mean(comb3$values) | ||
| ss.tot <- sum((comb3$values-mean.tot)^2) | ss.tot <- sum((comb3$values-mean.tot)^2) | ||
| - | df.tot <- 48-1 | + | df.tot <- length(comb3$values)-1 |
| - | ms.tot <- ss.tot/ | + | ms.tot <- ss.tot / df.tot |
| ss.tot | ss.tot | ||
| df.tot | df.tot | ||
| Line 59: | Line 71: | ||
| ss.within <- ss.a + ss.b + ss.c | ss.within <- ss.a + ss.b + ss.c | ||
| - | ss.within <- ss.within | ||
| - | 16*((m.a-mean.tot)^2) | + | # 3그룹이 전체평균에서 얼마나 떨어져서 분포되어 있나 보기 위해서 |
| - | 16*((m.b-mean.tot)^2) | + | # 전체평균에서 각 그룹의 평균이 얼마나 떨어져 있는지를 구한 후 |
| - | 16*((m.c-mean.tot)^2) | + | # (deviation score 혹은 error score), 이를 제곱한다 |
| + | # 위의 세 점수를 더하기 전에 각 그룹에 구성원은 | ||
| + | # (ss) 이를 곱한 후에 모두 더한다. 이것을 SS between group | ||
| + | # 이라 부른다. | ||
| + | ss*((m.a-mean.tot)^2) | ||
| + | ss*((m.b-mean.tot)^2) | ||
| + | ss*((m.c-mean.tot)^2) | ||
| + | # 그리고 우리는 이것이 독립변인이 존재함으로써 밝혀진 | ||
| + | # SS값임을 알고 있다 | ||
| ss.bet <- 16*((m.a-mean.tot)^2) + 16*((m.b-mean.tot)^2) + 16*((m.c-mean.tot)^2) | ss.bet <- 16*((m.a-mean.tot)^2) + 16*((m.b-mean.tot)^2) + 16*((m.c-mean.tot)^2) | ||
| + | ss.bet | ||
| + | |||
| + | # 한편 ss.within은 각 그룹 내부에 구성원 간의 | ||
| + | # 변화도이므로 (variability) 독립변인이 있음에도 | ||
| + | # 불구하고 랜덤하게 나타나는 SS이다 | ||
| + | ss.within | ||
| + | # 그리고 ss.total은 | ||
| + | # 독립변인 때문에 설명되는 혹은 독립변인이 | ||
| + | # 있기 때문에 밝혀진 ss.between 값과 | ||
| + | # 랜덤하게 흩어진 그룹구성원 간의 ss.within | ||
| + | # 값으로 구성된다. | ||
| ss.tot | ss.tot | ||
| ss.bet | ss.bet | ||
| Line 71: | Line 101: | ||
| ss.bet + ss.within | ss.bet + ss.within | ||
| + | # 이는 df값도 마찬가지이다. | ||
| df.tot | df.tot | ||
| df.within <- df.a + df.b + df.c | df.within <- df.a + df.b + df.c | ||
| Line 84: | Line 115: | ||
| ms.within | ms.within | ||
| f.calculated | f.calculated | ||
| + | |||
| # 이 점수에서의 F critical value = | # 이 점수에서의 F critical value = | ||
| - | fp.value <- pf(f.calculated, | + | fp.value <- pf(f.calculated, |
| fp.value | fp.value | ||
| Line 92: | Line 124: | ||
| fp.value | fp.value | ||
| + | # 컴퓨터 계산이 쉬워지기 전에는 | ||
| + | # 아래처럼 0.5 level에서의 f값을 구한 후 | ||
| + | # 이것과 계산된 f값을 비교해봤었다. | ||
| + | qf(.05, df1 = 2, df2 = 45, lower.tail = FALSE) | ||
| + | f.calculated | ||
| + | # 위에서 f.calculated > qf값이므로 | ||
| + | # f.calculated 값으로 영가설을 부정하고 | ||
| + | # 연구가설을 채택하면 판단이 잘못일 확률이 | ||
| + | # 0.05보다 작다는 것을 안다. | ||
| + | # 그러나 컴퓨터계산이 용이해지고서는 qf대신에 | ||
| + | # pf를 써서 f.cal 값에 해당하는 prob. level을 | ||
| + | # 알아본다. | ||
| a.res <- aov(values ~ group, data=comb3) | a.res <- aov(values ~ group, data=comb3) | ||
| a.res.sum <- summary(a.res) | a.res.sum <- summary(a.res) | ||
| a.res.sum | a.res.sum | ||
| + | |||
| </ | </ | ||
c/ms/2024/w07_anova_note.1712533664.txt.gz · Last modified: by hkimscil
