require(moments)
require(ggplot2)
# Funcion que simula el lanzamiento de 2 dados
dado1 <- 1:6
dado2 <- 1:6
espacio=expand.grid(dado1,dado2)
y=apply(espacio,1,sum)
prob_teorica=table(y)/36
plot(2:12,prob_teorica,type = "b",
main = paste0("Probabilidad de la suma del lanzamiento de 2 dados"),
ylab = "Probabilidad", xlab = "Suma de 2 dados",
col = "red")
La probabilidad teorica de obtener el valor 12 de la suma del resultado de 2 dados es del 2.78%, se realiza la simulación del resultado obtenido al lanzar 10.000 veces dos dados y realizar la respecitva suma obteniendo que la probabilidad estimada es del 2.9%
Simulacion_lanzamientos <- function(n_lanzamientos, condicion){
dado1 <- 1:6
dado2 <- 1:6
muestra1 <- sample(dado1,n_lanzamientos, T)
muestra2 <- sample(dado2,n_lanzamientos, T)
suma <- muestra1 + muestra2
prob <- sum(suma == condicion)/n_lanzamientos
return(prob)
}
Prob_estimada <- Simulacion_lanzamientos(10000,12);Prob_estimada
## [1] 0.0295
p_muestral <- function(p, n, N){
poblacion <- c(rep(1, N*p), rep(0,N*(1-p)))
prob <- sum(sample(poblacion,n))/n
return(prob)
}
p_estimado <- array()
for(i in 1:10000){
p_estimado[i] <- p_muestral(0.1,200,1000)
}
hist(p_estimado)
| n | min | primer_cuantil | mediana | media | tercer_cuantil | max | sd | CV | |
|---|---|---|---|---|---|---|---|---|---|
| 25% | 10000 | 0.035 | 0.085 | 0 | 0.1 | 0.11 | 0.19 | 0.019 | 19 |
Al comparar las estadisticas descriptivas de la distribución muestral obtenida observamos que si bien presenta una desviación estandar del 1.9% con respecto al valor medio, la estimación de la media muestral tiende al parametro poblacional.
poblacion <- c(rep("Si", 100), rep("No",900))
var <- as.factor(poblacion)
analisis_descriptivo <- function(var, tipo_var){
require(ggplot2)
require(ggpubr)
if(tipo_var == "Cuantitativa") {
# Medidas descriptivas para las variables cuantitativas
n=length(var)
min = min(var)
primer_cuantil = round(quantile(var,0.25),3)
media=round(mean(var),3)
mediana=round(median(var,3))
tercer_cuantil = round(quantile(var,0.75),3)
max = round(max(var),3)
sd=round(sd(var),3)
CV = round((sd/media)*100,3)
faltantes <- sum(is.na(var))
# Tabla de resumen
descrip_cuanti <- data.frame(n,min,primer_cuantil,mediana,media,
tercer_cuantil,max,sd,CV,faltantes)
# Graficos
var <- data.frame(var)
g1=ggplot(var,aes(x=var))+geom_histogram(bins = 15)+theme_classic()
g2=ggplot(var,aes(x=var))+geom_boxplot()+theme_classic()
g3=ggplot(var,aes(x=var))+geom_density()+theme_classic()
graficos_descriptivos <- ggarrange(g1, g2,g3, labels = c("A", "B", "C"),ncol = 2, nrow = 2)
return(list(descrip_cuanti, graficos_descriptivos))
}
if(tipo_var == "Cualitativa") {
# Analisis descriptivo de la variable cualitativa
n_categoria <- length(levels(var))
n <- length(var)
moda <- (names(which.max(table(var))))
faltantes <- sum(is.na(var))
descrip_cuanti <- t(data.frame(n,n_categoria,moda,faltantes))
var <- (as.factor(var))
datos <- as.data.frame(table(var))
# Diagrama de barras
g1 = ggplot(datos,aes(x=var, y =Freq/sum(Freq)))+geom_bar(stat="identity",position="stack") +
theme_classic() +labs(title = 'Diagrama de barras', x = 'Categorias', y = 'conteos')+
geom_text( aes(y = Freq/sum(Freq), label = (Freq/sum(Freq))*100, fontface = 'bold'),
position = position_stack(vjust = 0.5))
# Diagrama de torta
g2 = ggplot(datos,aes(x="",y=Freq/sum(Freq), fill=var))+geom_bar(stat = "identity",color="white")+
coord_polar(theta="y") + geom_text( aes(y = Freq/sum(Freq), label = (Freq/sum(Freq))*100,
fontface = 'bold'), position = position_stack(vjust = 0.5)) +
labs(title = 'Diagrama de torta', x= "", y = "")
graficos_descriptivos <- ggarrange(g1, g2,labels = c("A", "B"),ncol = 2, nrow = 1)
return(list(descrip_cuanti, graficos_descriptivos))
}else {
return("Seleccione el tipo de variables en Cualitativa o Cuantitativa")
}
}
analisis_descriptivo(var, "Cualitativa")
## [[1]]
## [,1]
## n "1000"
## n_categoria "2"
## moda "No"
## faltantes "0"
##
## [[2]]
analisis_descriptivo(p_estimado, "Cuantitativa")
## [[1]]
## n min primer_cuantil mediana media tercer_cuantil max sd CV
## 25% 10000 0.035 0.085 0 0.1 0.11 0.19 0.019 19
## faltantes
## 25% 0
##
## [[2]]