#Libreria necesaria

library(gtools) # Para combinations() y permutations()
library(knitr)

#Combinacion de personas

personas <- c("H1", "H2", "H3","H4","M1", "M2", "M3")
personas
## [1] "H1" "H2" "H3" "H4" "M1" "M2" "M3"
posibles.elecciones <- combinations(7,2, personas)
posibles.elecciones
##       [,1] [,2]
##  [1,] "H1" "H2"
##  [2,] "H1" "H3"
##  [3,] "H1" "H4"
##  [4,] "H1" "M1"
##  [5,] "H1" "M2"
##  [6,] "H1" "M3"
##  [7,] "H2" "H3"
##  [8,] "H2" "H4"
##  [9,] "H2" "M1"
## [10,] "H2" "M2"
## [11,] "H2" "M3"
## [12,] "H3" "H4"
## [13,] "H3" "M1"
## [14,] "H3" "M2"
## [15,] "H3" "M3"
## [16,] "H4" "M1"
## [17,] "H4" "M2"
## [18,] "H4" "M3"
## [19,] "M1" "M2"
## [20,] "M1" "M3"
## [21,] "M2" "M3"

#¿En cuantas ocasiones se pueden seleccionar 0 Mujeres?

n <- nrow(posibles.elecciones)

cero <- 0
for (r in 1:n) {
  if((substr(posibles.elecciones[r,1], 1,1) == "H" & substr(posibles.elecciones[r,2], 1,1) == "H")) {
    cero <- cero + 1
  }
}
cero 
## [1] 6

#¿En cuantas ocasiones se pueden seleccionar 1 Mujer?

n <- nrow(posibles.elecciones)

una <- 0
for (r in 1:n) {
  if((substr(posibles.elecciones[r,1], 1,1) == "H" & substr(posibles.elecciones[r,2], 1,1) == "M") | (substr(posibles.elecciones[r,1], 1,1) == "M" & substr(posibles.elecciones[r,2], 1,1) == "H")) {
    una <- una + 1
  }
}
una
## [1] 12

#¿En cuantas ocasiones se pueden seleccionar 2 Mujeres?

n <- nrow(posibles.elecciones)

dos <- 0
for (r in 1:n) {
  if((substr(posibles.elecciones[r,1], 1,1) == "M" & substr(posibles.elecciones[r,2], 1,1) == "M") ) {
    dos <- dos + 1
  }
}
dos
## [1] 3

#1. Identificar los valores de x y de probabilidad de x #Cuánto vale n ?, 10 número total de casos en la población. #Se determina la frecuencia relativa frecuencia / n para cada variable aleatoria discreta.

x <- c(0,1,2)
prob.x <- c(cero/n , una/n, dos/n)

#2. Determinar valor esperado

v.e <- sum(x * prob.x)
v.e
## [1] 0.8571429

#3. Determinar la probabilidad acumulada

prob.acum.x <- c(sum(prob.x[1]), sum(prob.x[1:2]), sum(prob.x[1:3]))
prob.acum.x
## [1] 0.2857143 0.8571429 1.0000000

#4. Determinar y visualizar la tabla de distribución

tabla <- data.frame(x, prob.x, prob.acum.x, x * prob.x, (x - v.e) ^ 2, (x - v.e) ^ 2 * prob.x)

colnames(tabla) <- c("x", "prob.x", "prob.acum.x", "x.prob.x", "x-v.e^2", "x-v.e^2prob.x")

kable(tabla)
x prob.x prob.acum.x x.prob.x x-v.e^2 x-v.e^2prob.x
0 0.2857143 0.2857143 0.0000000 0.7346939 0.2099125
1 0.5714286 0.8571429 0.5714286 0.0204082 0.0116618
2 0.1428571 1.0000000 0.2857143 1.3061224 0.1865889
#5. V isualizar la gráfica de ba rra de la va riable aleat oria x con respecto a su probabilidad
barplot(height = prob.x, names.arg = x)

#6. Visualizar la gráfica de la probabilidad acumulada

plot(x,prob.acum.x, type = 'l')

#7. Determinar varianza

var <- sum((x - v.e) ^ 2 * prob.x)
var
## [1] 0.4081633

#8. Determinar desviación std

desv.std <- sqrt(var)
desv.std
## [1] 0.6388766

#Mostrando la tabla de distribucipon de la probabilidad previamente generada

kable(tabla)
x prob.x prob.acum.x x.prob.x x-v.e^2 x-v.e^2prob.x
0 0.2857143 0.2857143 0.0000000 0.7346939 0.2099125
1 0.5714286 0.8571429 0.5714286 0.0204082 0.0116618
2 0.1428571 1.0000000 0.2857143 1.3061224 0.1865889
#9. ¿ Cual es la p robabilida par a selecciona r un grupo d e 1 mujer o menos?
tabla$prob.acum.x[1+1]
## [1] 0.8571429

#10. ¿Cuál es la probabilidad para no seleccionar ninguna mujer en el grupo ?

tabla$prob.acum.x[0+1]
## [1] 0.2857143

#11. ¿Cuál es la probabilidad para seleccionar una o más de una persona de género mujer?

1 - tabla$prob.acum.x[1+1]
## [1] 0.1428571

#12. ¿Cuál es la probabilida de seleccionar TRES mujeres en grupos de DOS? #CERO