rnorm2 <- function(n,mean,sd) { mean+sd*scale(rnorm(n)) }
set.seed(1001)
df <- rnorm2(600000, 100, 10)
head(df)

n <- 1600
iter <- 10000
means <- rep (NA, iter)
for(i in 1:iter){
  means[i] = mean(sample(df, n))
}
# means
hist(means)
mean(means)
sd(means)

m.the <- 100
se.the <- 10/sqrt(n)
m.the
se.the

s.s <-107.5
p.val <- (m.the-s.s)/se.the
p.val <- pnorm(p.val)
p.val

# proportions
#
p <- 0.55 # 민경욱 지지율 가정정
q <- 1-p

set.seed(101)
el <- sample.int(2, 400000, replace=TRUE, prob=c(p, q))
table(el)
prop.table(table(el))

n <- 16000
iter <- 10000
els <- rep (NA, iter)
prop <- rep (NA, iter)
for(i in 1:iter){
  els <- sample(el, n, replace=FALSE)
  prop[i] <- table(els)[1]/(table(els)[1]+table(els)[2])
}
# els
head(prop)
hist(prop)


pre.vote <- 0.430
m.emp <- mean(prop)
m.theo <- p
m.emp 
m.theo

se.emp <- sd(prop)
se.theo <- sqrt((p*q)/n)
se.emp
se.theo


m.theo
pre.vote
m.theo-pre.vote
se.theo
# install.packages("Rmpfr")

library(Rmpfr)
.N <- function(.) mpfr(., precBits = 100)

zval <- (m.theo-pre.vote)/se.theo
zval
p.val <- pnorm(zval, lower.tail = F)
p.val # limit in 1e-217 

p.lot <- 1/1000000 # lotto를 맞을 확률을 100만분의 1이라고 하면
p.lot^21*7 # lotto를 연거퍼서 21일동안 맞을 확률의 일곱배배; not 지구나이 . . . . 
> # proportions
> #
> p <- 0.55 # 민경욱 지지율 가정정
> q <- 1-p
> set.seed(101)
> el <- sample.int(2, 400000, replace=TRUE, prob=c(p, q))
> table(el)
el
     1      2 
219878 180122 
> prop.table(table(el))
el
       1        2 
0.549695 0.450305 
> n <- 16000
> iter <- 10000
> els <- rep (NA, iter)
> prop <- rep (NA, iter)
> for(i in 1:iter){
+   els <- sample(el, n, replace=FALSE)
+   prop[i] <- table(els)[1]/(table(els)[1]+table(els)[2])
+ }
> # els
> head(prop)
[1] 0.5461250 0.5512500 0.5465000 0.5473125 0.5539375 0.5563125
> hist(prop)
> pre.vote <- 0.430
> m.emp <- mean(prop)
> m.theo <- p
> m.emp 
[1] 0.5497185
> m.theo
[1] 0.55
> se.emp <- sd(prop)
> se.theo <- sqrt((p*q)/n)
> se.emp
[1] 0.003837126
> se.theo
[1] 0.003933033
> m.theo
[1] 0.55
> pre.vote
[1] 0.43
> m.theo-pre.vote
[1] 0.12
> se.theo
[1] 0.003933033
> library(Rmpfr)
> .N <- function(.) mpfr(., precBits = 100)
> zval <- (m.theo-pre.vote)/se.theo
> zval
[1] 30.5108
> p.val <- pnorm(zval, lower.tail = F)
> p.val # limit in 1e-217 
[1] 9.368078e-205
> p.lot <- 1/1000000 # lotto를 맞을 확률을 100만분의 1이라고 하면
> p.lot^21*7 # lotto를 연거퍼서 21일동안 맞을 확률의 일곱배배; not 지구나이 . . . . 
[1] 7e-126
>