library(binom)
x <- seq(0, 100, by=1)
y <- dbinom(0:100, size=100, prob=0.25)
plot(x, y, ylab="P(x)", xlab="n", main = c("X ~ B(100, 0.25)"))
n <- rep(0:100)
probability <- dbinom(n, 100, 0.25)
chance <- list(n, probability)
df <- as.data.frame(chance, col.names = c("n", "p"))
df
## n p
## 1 0 3.207202e-13
## 2 1 1.069067e-11
## 3 2 1.763961e-10
## 4 3 1.920758e-09
## 5 4 1.552613e-08
## 6 5 9.936720e-08
## 7 6 5.244380e-07
## 8 7 2.347484e-06
## 9 8 9.096502e-06
## 10 9 3.099549e-05
## 11 10 9.401965e-05
## 12 11 2.564172e-04
## 13 12 6.339204e-04
## 14 13 1.430384e-03
## 15 14 2.962939e-03
## 16 15 5.662506e-03
## 17 16 1.002735e-02
## 18 17 1.651564e-02
## 19 18 2.538515e-02
## 20 19 3.651899e-02
## 21 20 4.930064e-02
## 22 21 6.260399e-02
## 23 22 7.493508e-02
## 24 23 8.470922e-02
## 25 24 9.059180e-02
## 26 25 9.179969e-02
## 27 26 8.826893e-02
## 28 27 8.064075e-02
## 29 28 7.008066e-02
## 30 29 5.799778e-02
## 31 30 4.575381e-02
## 32 31 3.443835e-02
## 33 32 2.475256e-02
## 34 33 1.700176e-02
## 35 34 1.116782e-02
## 36 35 7.019775e-03
## 37 36 4.224864e-03
## 38 37 2.435958e-03
## 39 38 1.346187e-03
## 40 39 7.133642e-04
## 41 40 3.626268e-04
## 42 41 1.768911e-04
## 43 42 8.282997e-05
## 44 43 3.724138e-05
## 45 44 1.608151e-05
## 46 45 6.670847e-06
## 47 46 2.658671e-06
## 48 47 1.018214e-06
## 49 48 3.747594e-07
## 50 49 1.325680e-07
## 51 50 4.507311e-08
## 52 51 1.472977e-08
## 53 52 4.626660e-09
## 54 53 1.396727e-09
## 55 54 4.052234e-10
## 56 55 1.129714e-10
## 57 56 3.026019e-11
## 58 57 7.786248e-12
## 59 58 1.924188e-12
## 60 59 4.565869e-13
## 61 60 1.040003e-13
## 62 61 2.273232e-14
## 63 62 4.766453e-15
## 64 63 9.583346e-16
## 65 64 1.846791e-16
## 66 65 3.409459e-17
## 67 66 6.026822e-18
## 68 67 1.019462e-18
## 69 68 1.649130e-19
## 70 69 2.549380e-20
## 71 70 3.763371e-21
## 72 71 5.300523e-22
## 73 72 7.116443e-23
## 74 73 9.098648e-24
## 75 74 1.106592e-24
## 76 75 1.278729e-25
## 77 76 1.402115e-26
## 78 77 1.456743e-27
## 79 78 1.431841e-28
## 80 79 1.329135e-29
## 81 80 1.162993e-30
## 82 81 9.571963e-32
## 83 82 7.392979e-33
## 84 83 5.344322e-34
## 85 84 3.605297e-35
## 86 85 2.262147e-36
## 87 86 1.315202e-37
## 88 87 7.054722e-39
## 89 88 3.473916e-40
## 90 89 1.561311e-41
## 91 90 6.360895e-43
## 92 91 2.329998e-44
## 93 92 7.597820e-46
## 94 93 2.178587e-47
## 95 94 5.407839e-49
## 96 95 1.138492e-50
## 97 96 1.976549e-52
## 98 97 2.716906e-54
## 99 98 2.772353e-56
## 100 99 1.866905e-58
## 101 100 6.223015e-61
n <- 100
p <- 0.25
q <- 1-p
mean <- n*p
variance <- n*p*q
std <- sqrt(variance)
mean
## [1] 25
variance
## [1] 18.75
std
## [1] 4.330127
data <- 50
z_score <- (data-mean)/std
z_score
## [1] 5.773503
options("scipen" = 999)
p_value <- pnorm(q=z_score, lower.tail=FALSE)
p_value
## [1] 0.000000003882018
p_value <- pnorm(q=-5, lower.tail=TRUE)
p_value
## [1] 0.0000002866516
binom.confint(0, 25, conf.level=0.95, method="asymptotic")
## method x n mean lower upper
## 1 asymptotic 0 25 0 0 0
binom.confint(0, 25, conf.level=0.95, method="wilson")
## method x n mean lower upper
## 1 wilson 0 25 0 0 0.1331923
[1] Alan Agresti, 『범주형 자료분석 개론』, 박태성, 이승연 역,
자유아카데미, 2020
[2] Alan Agresti, 『Categorical Data Analysis
(3rd Edition)』, Wiley, 2018