#Objetivo.

#Resolver cuestiones de casos de probabilidad en casos mediante la identificación de variables aleatorias, funciones de probabilidad, funciones acumuladas con variables discretas asociado a distribuciones de Hipergeométrica.
#Descripción.

#Identificar casos relacionados con variables discretas para elaborar mediante programación R y markdown las variables discretas, las funciones de probabilidad de cada variable, la función acumulada, su visualización gráfica para su correcta implementación asociado a distribuciones Hipergeométrica. Los casos son identificados de la literatura relacionada con variables aleatorias discretas y distribuciones Hipergeométrica. Se deben elaborar dos ejercicios en este caso 19 encontrados en la literatura.
#1. Cargar librerías.



library(ggplot2)
library(knitr)

#Cargar funciones

source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/funciones/funciones.distribuciones.r")



#2. Ejercicio 1.

#Una empresa fabrica fusibles que empaca en cajas de 12 unidades cada una. Asuma que un inspector selecciona al azar 3 de los 12 fusibles de una caja para inspeccionarlos.Si la caja contiene exactamente 5 fusibles defectuosos. (Anderson et al., 2008).

#En este ejercicio:

 #   n=3

#Número de ensayos

#N=12

#Total de elementos

#r=5

#fusibles defectuosos en la caja, casos de éxito

#x=0,1,...,n

    

#a) Tabla de probabilidad desde cero a tres.

#    Primero inicializar valores

    
    
    N <- 12 
n <- 3
r <- 5
x <- 0:n

#Despues se crea la tabla.

    datos <- data.frame(x=x, f.prob.x = round(f.prob.hiper(x = x, N = N, n = n, r = r), 8))

datos <- cbind(datos, f.acum.x = cumsum(datos$f.prob.x))
kable(datos, caption = "Distribución de la probabilidad")
Distribución de la probabilidad
x f.prob.x f.acum.x
0 0.1590909 0.1590909
1 0.4772727 0.6363636
2 0.3181818 0.9545455
3 0.0454546 1.0000000
ggplot(data = datos, aes(x,f.prob.x) ) +
  geom_point(colour = "pink") +
  geom_line(colour = 'blue')

#b) ¿Cuál es la probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso?

#P(X=1)

x <- 1
prob <- datos$f.prob.x[x+1]

paste("La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es:  47.7273 %"
#c) ¿Cuál es la probabilidad de encontrar menos de tres fusibles defectuosos.

#$P(X 2) = P(X = 0) + P(X = 1) + P(X = 2) $

x <- 2
prob <- datos$f.acum.x[x+1]

paste("La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que el inspector encuentre que uno de los tres fusibles está defectuoso es:  95.4545 %"
#d) ¿Cuál es el valor esperado.

#E(x)=140+2102



N <- 12 
n <- 3
r <- 5
VE <- f.va.hiper(n = n, N = N, r = r)

paste("El valor esperado o media de este ejercicios es de: ", VE)
## [1] "El valor esperado o media de este ejercicios es de:  1.25"
#e) ¿Cuál es la varianza y la desviación estándard?

    #varianza

#Var(x)=(210−140)212

    #desviación estándard

#α=Var(x)−−−−−−√



varianza <- f.varianza.hiper(VE = VE, n = 3, N = 12, r = 5)
desvstd <- sqrt(varianza)

paste("El valor de la varianza es de: ", round(varianza,4), " y la desviación std es de: ", round(desvstd, 4))
## [1] "El valor de la varianza es de:  0.5966  y la desviación std es de:  0.7724"
 # 3. Ejercicio 2.

#Lotes con 40 componentes cada uno que contengan 3 o más defectuosos se consideran inaceptables. El procedimiento para obtener muestras del lote consiste en seleccionar 5 componentes al azar y rechazar el lote si se encuentra un componente defectuoso (Camacho Avila, 2019), (Walpole et al., 2012)

    #n=5



#N=40



#k=3



#x=0,1,2,3,4...n

    

#a) Tabla de probabilidad desde cero a cinco.

 #   Primero inicializar valores.

    N <- 40
n <- 5
r <- 3
x <- 0:r


datos <- data.frame(x=x, f.prob.x = round(f.prob.hiper(x = x, N = N, n = n, r = r), 8))

datos <- cbind(datos, f.acum.x = cumsum(datos$f.prob.x))
kable(datos, caption = "Distribución de la probabilidad")
Distribución de la probabilidad
x f.prob.x f.acum.x
0 0.6624494 0.6624494
1 0.3011134 0.9635628
2 0.0354251 0.9989878
3 0.0010122 1.0000000
ggplot(data = datos, aes(x,f.prob.x) ) +
  geom_point(colour = "red") +
  geom_line(colour = 'blue')

#b) ¿Cuál es la probabilidad de que, en la muestra, se encuentre exactamente un componente defectuoso, si en todo el lote hay 3?

#P(X=1)
x <- 1
prob <- datos$f.prob.x[x+1]

paste("La probabilidad de que, en la muestra, se encuentre exactamente un componente defectuoso de tres es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de que, en la muestra, se encuentre exactamente un componente defectuoso de tres es:  30.1113 %"
#c) ¿Cuál es la probabilidad de encontrar al menos 2 componentes defectuosos?

#P(X≤2)=P(X=0)+P(X=1)+P(X=2)

x <- 2
prob <- datos$f.acum.x[x+1]

paste("La probabilidad de encontrar al dos tres componentes defectuosos es: ", round(prob * 100,4), "%")
## [1] "La probabilidad de encontrar al dos tres componentes defectuosos es:  99.8988 %"
#d) ¿Cuál es el valor esperado?

#E(x)=140+2102

N <- 40
n <- 5
r <- 3
VE <- f.va.hiper(n = n, N = N, r = r)

paste("El valor esperado o media de este ejercicios es de: ", VE)
## [1] "El valor esperado o media de este ejercicios es de:  0.375"
 #e) ¿Cuál es la varianza y la desviación estándard?

    #varianza

#Var(x)=(210−140)212

    #desviación estándard

#α=Var(x)−−−−−−√

  varianza <- f.varianza.hiper(VE = VE, n = 3, N = 12, r = 5)
desvstd <- sqrt(varianza)

paste("El valor de la varianza es de: ", round(varianza,4), " y la desviación std es de: ", round(desvstd, 4))
## [1] "El valor de la varianza es de:  0.179  y la desviación std es de:  0.4231"
#Conclusión.
#Dentro de la distribución hipergeométrica las variables aleatorias siguen cumpliendo con sus bases, de ser valores dentro de un rango finito, así como determinar por medio de una tabla de probabilidad la posibilidad de que un evento X se cumpla así como la acumulación de posibilidades.