Ejemplo moneda
- ¿Realmente es 0.5 la probabilidad de obtener cara (o sello) al lanzar una moneda?
# Opciones de la moneda
moneda <- c("cara", "sello")
# Un lanzamiento aleatorio
sample(x = moneda, size = 1)
## [1] "sello"
- Vamos a lanzar la moneda 10 veces:
set.seed(1) # semilla para garantizar replicabilidad
lanzamientos <- replicate(n = 10, expr = sample(x = moneda, size = 1))
- Calculamos la frecuencia relativa de la “cara”:
prop.table(table(lanzamientos))[1]
## cara
## 0.6
- Replicar los pasos anteriores desde 1 lanzamiento hasta 100 lanzamientos:
experimento <- c()
for(i in 1:100){
muestra <- replicate(n = i, expr = sample(x = moneda, size = 1))
experimento[i] <- prop.table(table(muestra))[1]
}
- Imprimir la variable “experimento”:
experimento
## [1] 1.0000000 1.0000000 0.6666667 0.2500000 1.0000000 0.5000000 0.5714286
## [8] 0.1250000 0.4444444 0.3000000 0.3636364 0.5000000 0.5384615 0.6428571
## [15] 0.4000000 0.5000000 0.5294118 0.5000000 0.6315789 0.5500000 0.3809524
## [22] 0.5909091 0.3478261 0.4166667 0.6000000 0.4615385 0.5185185 0.6428571
## [29] 0.4827586 0.5000000 0.7096774 0.5625000 0.4545455 0.5000000 0.4571429
## [36] 0.3888889 0.5405405 0.4736842 0.5384615 0.5250000 0.4390244 0.4047619
## [43] 0.4883721 0.5454545 0.4444444 0.4782609 0.4893617 0.4375000 0.4897959
## [50] 0.5000000 0.4313725 0.4807692 0.5094340 0.5000000 0.5636364 0.6785714
## [57] 0.4912281 0.5862069 0.5254237 0.4500000 0.4426230 0.4838710 0.5714286
## [64] 0.3593750 0.5384615 0.4393939 0.4776119 0.4558824 0.5362319 0.5000000
## [71] 0.5352113 0.4722222 0.4657534 0.6081081 0.5333333 0.4210526 0.5194805
## [78] 0.4487179 0.5063291 0.4625000 0.4567901 0.4634146 0.5301205 0.4880952
## [85] 0.5411765 0.5697674 0.5172414 0.4886364 0.4044944 0.4777778 0.5274725
## [92] 0.4565217 0.4838710 0.4361702 0.5052632 0.4687500 0.4123711 0.4387755
## [99] 0.3838384 0.5600000
- Gráfico sistema base de R:
plot(experimento, type = "l")
abline(h = 0.5, col = "red")

library(tidyverse)
enframe(experimento, name = "lanzamiento", value = "frecuencia") %>%
ggplot(mapping = aes(x = lanzamiento, y = frecuencia)) +
geom_line() +
geom_hline(yintercept = 0.5, color = "red")

Ejemplo moneda 2500 lanzamientos
- Replicar los pasos anteriores desde 1 lanzamiento hasta 2500 lanzamientos:
experimento <- c()
for(i in 1:2500){
muestra <- replicate(n = i, expr = sample(x = moneda, size = 1))
experimento[i] <- prop.table(table(muestra))[1]
}
- Gráfico sistema base de R:
plot(experimento, type = "l")
abline(h = 0.5, col = "red")

library(tidyverse)
enframe(experimento, name = "lanzamiento", value = "frecuencia") %>%
ggplot(mapping = aes(x = lanzamiento, y = frecuencia)) +
geom_line() +
geom_hline(yintercept = 0.5, color = "red")

Ejemplo dado
- Experimento con 2500 lanzamientos:
caras_dado <- c(1, 2, 3, 4, 5, 6)
experimento <- c()
for(i in 1:2500){
muestra <- replicate(n = i, expr = sample(x = caras_dado, size = 1))
experimento[i] <- prop.table(table(muestra))[1]
}
- Construir el gráfico con ggplot2:
enframe(x = experimento, name = "lanzamiento", value = "frecuencia") %>%
ggplot(mapping = aes(x = lanzamiento, y = frecuencia)) +
geom_line() +
geom_hline(yintercept = 1/6, color = "red")

Combinaciones
- Ejemplo: ¿Cuántos subconjuntos de tamaño 2 puedo conformar de un conjunto de 4 personas?
n <- 4
r <- 2
factorial(n) / (factorial(r) * (factorial(n - r)))
## [1] 6
- R tiene la función choose() que permite calcular combinaciones:
choose(n = n, k = r)
## [1] 6
- Podemos obtener las combinaciones con la función combinations() de la biblioteca gtools:
library(gtools)
combinations(n = 4, r = 2, v = c("a", "b", "c", "d"))
## [,1] [,2]
## [1,] "a" "b"
## [2,] "a" "c"
## [3,] "a" "d"
## [4,] "b" "c"
## [5,] "b" "d"
## [6,] "c" "d"
- Podemos calcular el número de combinaciones:
nrow(combinations(n = 4, r = 2))
## [1] 6
Permutaciones
- Podemos calcular las permutaciones multiplicando la combinación por el factorial de r (k):
choose(n = 4, k = 2) * factorial(2)
## [1] 12
- Podemos implementar la función permutations() de la biblioteca gtools:
permutations(n = 4, r = 2)
## [,1] [,2]
## [1,] 1 2
## [2,] 1 3
## [3,] 1 4
## [4,] 2 1
## [5,] 2 3
## [6,] 2 4
## [7,] 3 1
## [8,] 3 2
## [9,] 3 4
## [10,] 4 1
## [11,] 4 2
## [12,] 4 3