Code
library(tidyverse)
Simulación
library(tidyverse)
# Función para simular lanzamientos de moneda
<- function(n) {
simular_monedas <- sample(c("Cara", "Sello"), n, replace = TRUE)
resultados prop.table(table(resultados))
}
# Tamaños de muestra
<- seq(from = 10, to = 100000, by = 100)
tamanos_muestra <- data.frame(tamaño = integer(),
resultados caras = numeric(),
sellos = numeric())
# Simulaciones
for (n in tamanos_muestra) {
<- simular_monedas(n)
proporciones <- resultados |>
resultados add_row(tamaño = n,
caras = proporciones["Cara"],
sellos = proporciones["Sello"])
}
# Graficar resultados
ggplot(resultados, aes(x = tamaño)) +
geom_line(aes(y = caras, color = "Cara"), size = 1) +
geom_line(aes(y = sellos, color = "Sello"), size = 1) +
geom_hline(yintercept = 0.5,
linetype = "dashed",
color = "black") +
labs(
title = "Proporciones de cara y sello en función del tamaño de la muestra",
x = "Tamaño de la nuestra",
y = "Proporción",
color = "Resultado"
+
) scale_color_manual(values = c("Cara" = "blue", "Sello" = "red")) +
theme_minimal()
# Función para simular lanzamientos de un dado
<- function(n) {
simular_dados <- sample(1:6, n, replace = TRUE)
resultados prop.table(table(resultados))
}
# Tamaños de muestra
<- seq(from = 100, to = 10000, by = 10)
tamanos_muestra <- data.frame(
resultados_dado = integer(),
tamaño cara1 = numeric(),
cara2 = numeric(),
cara3 = numeric(),
cara4 = numeric(),
cara5 = numeric(),
cara6 = numeric()
)
# Realizar simulaciones
for (n in tamanos_muestra) {
<- simular_dados(n)
proporciones <- resultados_dado |>
resultados_dado add_row(
= n,
tamaño cara1 = ifelse("1" %in% names(proporciones), proporciones["1"], 0),
cara2 = ifelse("2" %in% names(proporciones), proporciones["2"], 0),
cara3 = ifelse("3" %in% names(proporciones), proporciones["3"], 0),
cara4 = ifelse("4" %in% names(proporciones), proporciones["4"], 0),
cara5 = ifelse("5" %in% names(proporciones), proporciones["5"], 0),
cara6 = ifelse("6" %in% names(proporciones), proporciones["6"], 0)
)
}
# Graficar resultados
<- resultados_dado |>
resultados_long pivot_longer(cols = starts_with("cara"),
names_to = "cara",
values_to = "proporcion")
ggplot(resultados_long, aes(x = tamaño, y = proporcion, color = cara)) +
geom_line(size = 1) +
geom_hline(yintercept = 1 / 6,
linetype = "dashed",
color = "black") +
labs(
title = "Proporciones de cada cara del dado en función del tamaño de la muestra",
x = "Tamaño de la Muestra",
y = "Proporción",
color = "Cara"
+
) theme_minimal() +
scale_color_manual(values = rainbow(6))