Punto 1- Simulación del resultado de la suma del lanzamiento de dos dados

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

Punto 2 - Simulación concepto de distribución muestral (Caso proporciones)

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.

Punto 3 - Función que Calcula Descriptivos Univariados

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]]