-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path88-recon.R
171 lines (170 loc) · 5.95 KB
/
88-recon.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
#'
#' [distribuciones estadísticas]
#'
#' fuente: https://www.apsnet.org/edcenter/disimpactmngmnt/topc/EcologyAndEpidemiologyInR/IntroductionToR/Pages/StatisticalDistributions.aspx
#'
#' adicional no usado: https://statisticsglobe.com/beta-distribution-in-r-dbeta-pbeta-qbeta-rbeta
#' https://distribution-explorer.github.io/continuous/normal.html
#' https://distribution-explorer.github.io/continuous/normal.html
#' https://distribution-explorer.github.io/continuous/beta.html
#' https://distribution-explorer.github.io/continuous/gamma.html#
#'
#' rnorm() ---------------------------------------------
#'
#' podemos ilustrar una distribución normal
#' con media 0 y desviación estandar 1
#' dibujando un histograma
#' con 1000 observaciones aleatorias
#' a partir de esta distribución
hist(rnorm(n = 1000))
#'
#' cada vez que corras esta última línea, generaras
#' un nuevo conjunto de datos aleatorios. ¡inténtalo!
#'
#' dnorm() ---------------------------------------------
#'
#' la densidad de la distribución aleatoria
#' a cualquier punto dado
#' indica qué tan probable son dichos valores en dicho rango
dnorm(x = 0)
dnorm(x = -1)
dnorm(x = 1)
#'
#' tal y como vemos en la gráfica anterior
#' tanto 1 como -1 tienen una densidad muy similar
#'
#' ¿cuál es el valor de la densidad para un
#' valor poco probable en el rango, por ejemplo 4?
dnorm(x = 4)
#'
#' pnorm() ---------------------------------------------
#'
#' los valores de densidad no proveen los valores de
#' la probabildiad, pero dan una idea de su
#' probabilidad relativa.
#'
#' el percentil proporciona información sobre la
#' probabilidad de que los valores de una
#' distribución normal caigan por debajo de un
#' valor determinado.
#'
#' ¿cuál es la probabilidad de que los valores sean
#' inferiores a -1?
pnorm(q = -1)
#'
#' ¿cuál es la probabilidad de que los valores sean
#' inferiores a 0?
#' o, ¿qué proporción de valores cae por debajo de 0?
pnorm(q = 0)
#'
#' ¿qué proporción de valores cae por debajo de 1?
pnorm(q = 1)
#'
#' en análisis estadísticos, una distribución normal
#' puede ser usada para representar potenciales
#' observaciones debajo de una hipótesis nula.
#' si una observación cae lejos en las colas
#' de esta distribución, sugiere que
#' podemos rechazar la hipótesis nula.
#'
#' para una distribución normal,
#' ¿cuál es la probabilidad de que una observación
#' caiga debajo de -1.96?
pnorm(q = -1.96)
#'
#' ¿cuál es la probabilidad de que una observación
#' caiga por arriba de 1.96?
1 - pnorm(q = 1.96)
#'
#' note que estos valores
#' son frecuentemente usados como punto de corte,
#' de forma que la probabilidad de una observación
#' caiga debajo de -1.96 o arriba de 1.96,
#' sumando aproximadamente 0.05.
pnorm(q = -1.96) + (1 - pnorm(q = 1.96))
#'
#' 0.05 representa una probabilidad aceptablemente baja
#' de que un valor extremo pueda ser observado en una muestra
#' si la hipótesis nula es correcta.
#'
#' qnorm() ---------------------------------------------
#'
#' la función cuantil permite plantear
#' preguntas diferentes pero relacionadadas,
#' por ejemplo:
#' ¿por debajo de qué valor cae la mitad de la distribución?
qnorm(p = 0.5)
#'
#' ¿por debajo de qué valor cae el 2.5% de la distribución?
qnorm(p = 0.025)
#'
#' ¿por arriba de qué valor cae el 2.5% de la distribución?
qnorm(p = (1-0.025))
#'
#' -----------------------------------------------------
#'
#' intenta realizar lo mismo con el resto de distribuciones
#' usando las funciones de la tabla
#' (https://deploy-preview-104--reconlearn.netlify.app/post/practical-intror-spanish.html#trabajar-con-distribuciones-de-probabilidad)
#'
#' casi todas las distribuciones estadísticas
#' emplean de parámetros diferentes, por lo que
#' sus funciones también requieren de diferentes argumentos.
#'
#' por ejemplo,
#' la distribución binomial tiene dos parámetros,
#' la probabilidad de éxito, `prob`, y
#' el número de ensayos, `size`.
#'
#' la distribución binomial se suele ilustrar con una
#' serie de lanzamientos de una moneda, en la que el
#' éxito puede definirse en términos de que el lanzamiento
#' de la moneda dé "cara", y
#' en la que prob=0.5 si la moneda es justa.
#'
#' La distribución binomial sólo puede tomar valores
#' enteros no negativos, a diferencia de la distribución normal,
#' que incluye cualquier número entre -∞ y ∞.
#'
hist(rbinom(n=100000, size=10, prob=.5))
#'
#' con el aplicativo "el zoológico de distribuciones"
#' puedes explorar de forma interactiva
#' por varias distribuciones y sus respectivos parámetros
#' https://ben18785.shinyapps.io/distribution-zoo/
#'
#' -----------------------------------------------------
#'
#' [uso de las distribuciones estadísticas en epidemiología]
#'
#' ejemplo 1:
#'
#' podemos usar la distribución binomial para describir
#' el número de personas infectadas en un área muestreada
#' por ejemplo, si muestreamos un área que contiene
#' `size = 40` personas y cada persona tiene un probabilidad
#' `prob = 0.1` de estar infectada,
#' entonces la distribución del número de personas infectadas
#' dentro del área es
hist(rbinom(n = 100000, size = 40, prob = 0.1))
# hist(rbinom(n = 100000, size = 40, prob = 0.1),xlim = c(0,40))
#'
#' también podemos expresarlo en términos de proporción
#' de personas infectadas dividiendo por su tamaño `size`
hist(rbinom(n = 100000, size = 40, prob = 0.1)/40)
# hist(rbinom(n = 100000, size = 40, prob = 0.1)/40,xlim = c(0,1))
#'
#' en promedio, ¿qué porcentaje del área tendría un
#' 10% o menos de personas infectadas (es decir, 4 de 40)?
pbinom(q = 4, size = 40, prob=0.1)
#'
#' ejemplo 2:
#'
#' podemos usar la distribución beta para describir la
#' proporción de personas vacunadas en una población
#' durante un proceso de vacunación
hist(rbeta(n = 100000, shape1 = 1, shape2 = 3.8))
#'
#' en promedio, ¿qué porcentaje de la población
#' tendría un 70% o más de personas vacunadas?
1- pbeta(q = 0.7, shape1 = 1, shape2 = 3.8)