###
rnorm2 <- function(n,mean,sd) {
mean+sd*scale(rnorm(n))
}
groupA <- rnorm2(10, 19, sqrt(160/9))
groupB <- rnorm2(10, 25, sqrt(200/9))
ss.a <- 160
ss.b <- 200
n.a <- 10
n.b <- 10
df.a <- 9
df.b <- 9
pooled.v <- (ss.a+ss.b)/(df.a+df.b)
pooled.v
se <- sqrt(pooled.v/n.a + pooled.v/n.b)
se
diff <- (mean(groupA)-mean(groupB))
t.cal <- diff/se
t.cal
pt(t.cal, df=df.a+df.b)*2
t.test(groupA, groupB, var.equal=T)
# 만약에 정확한 구간의 probability 보다
# 95% confidence interval의 점수를 구하고
# 싶다면
t.critical <- abs(qt(.05/2, 18))
c(-t.critical, t.critical)
t.cal
#############
ss <- function(x) {
sum((x-mean(x))^2)
}
n.a <- n.b <- 40
df.b <- n.b - 1
df.a <- n.a - 1
naver <- rnorm2(n.a, 7.2, 1)
mylab <- rnorm2(n.b, 7.9, 1)
ss(naver)
pv <- (ss(naver)+ss(mylab))/(df.a + df.b)
pv
se <- sqrt(pv/n.a + pv/n.b)
se
t.cal <- (mean(naver)-mean(mylab))/se
t.cal
pt(t.cal, df.a+df.b)*2
t.test(naver, mylab)
#
s.n <- 100
s.hi <- 5200
s.lo <- 4980
s.sd <- 500
set.seed(101)
s.hi <- round(rnorm(s.n, s.hi, s.sd))
s.lo <- round(rnorm(s.n, s.lo, s.sd))
s.hi
s.lo
df.a <- s.n - 1
df.b <- s.n - 1
m.a <- mean(s.hi)
m.b <- mean(s.lo)
diff <- m.a - m.b
pv <- (ss(s.hi)+ss(s.lo))/(df.a + df.b)
pv
se <- sqrt(pv/s.n + pv/s.n)
se
diff
t.cal <- diff / se
t.cal
pt(t.cal, df.a+df.b, lower.tail = F)*2
t.test(s.hi, s.lo, var.equal=T)