library(gtools)

2. Explique brevemente la diferencia entre permutación y combinación.

La permutación corresponde a las diferentes maneras de organizar un conjunto de n elementos en muestras, considerando un orden. En cambio, la combinación organiza elementos de un conjunto sin importar el orden. Por lo que, en la permutación, {1,2,3} es distinto a {3,2,1}, sin embargo, son la misma muestra para la combinación.

3. Busque en la ayuda de R las funciones combinations y permutations y explique brevemente cómo funcionan.

La función permutations permite enumerar las posibles permutaciones de un conjunto de elementos, considerando el orden. Por el contrario, la función combinations enumera las combinaciones de un conjunto de elementos, sin importar su orden.

# permutations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
# combinations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)

Ambas funciones reciben cinco parámetros, “n” corresponde al tamaño del vector, “r” representa el subconjunto que se tomará de la muestra para realizar las permutaciones o combinaciones, “v” es el vector que contiene los elementos, luego “set” indica si se deben eliminar los elementos duplicados del vector, que por defecto es verdadera, por último, “repeats.allowed” indica si se permiten repeticiones en las permutaciones o combinaciones realizadas, que por defecto es falsa.

4. Calcule:

a) La cantidad de permutaciones posibles con n = 14 y r = 4 con y sin repetición
  • Cantidad de permutaciones con repetición
nrow(permutations(14,4,repeats = TRUE))
## [1] 38416
  • Cantidad de permutaciones sin repetición
nrow(permutations(14,4,repeats = FALSE))
## [1] 24024

b) Las combinaciones de largo tres con las letras a, b y c con y sin repetición.
  • Combinaciones con repetición
combinations(3,3,c("a","b","c"),repeats = TRUE)
##       [,1] [,2] [,3]
##  [1,] "a"  "a"  "a" 
##  [2,] "a"  "a"  "b" 
##  [3,] "a"  "a"  "c" 
##  [4,] "a"  "b"  "b" 
##  [5,] "a"  "b"  "c" 
##  [6,] "a"  "c"  "c" 
##  [7,] "b"  "b"  "b" 
##  [8,] "b"  "b"  "c" 
##  [9,] "b"  "c"  "c" 
## [10,] "c"  "c"  "c"
  • Combinaciones sin repetición
combinations(3,3,c("a","b","c"),repeats = FALSE)
##      [,1] [,2] [,3]
## [1,] "a"  "b"  "c"

c) La cantidad de permutaciones y combinaciones con n = 30 y r = 2 sin repetición
  • Cantidad de permutaciones sin repetición
nrow(permutations(30,2,repeats = FALSE))
## [1] 870
  • Cantidad de combinaciones sin repetición
nrow(combinations(30,2,repeats = FALSE))
## [1] 435

5. Utilizando el conjunto de datos Titanic

a) Cree una función que calcule la probabilidad de A dado B, vea la Ecuación 1
Pab = function(Pba, Pa, Pb){
  resultado = Pba*Pa/Pb
  return(resultado)
}
b) Responda las siguientes preguntas:
  1. ¿Cuál es el porcentaje de supervivencia de los pasajeros y de la tripulación? ¿Cuál es mayor?
# Tabla con información de sobrevivientes por clase
apply(Titanic, c(1,4), sum)
##       Survived
## Class   No Yes
##   1st  122 203
##   2nd  167 118
##   3rd  528 178
##   Crew 673 212
  • Porcentaje de supervivencia de pasajeros
# Pasajeros que sobrevivieron
PasajerosS = sum(c(apply(Titanic, c(1,4), sum))[5:7])

# Total de pasajeros
PasajerosT = PasajerosS + sum(c(apply(Titanic, c(1,4), sum))[1:3])

# Calcula porcentaje de supervivencia
PorcentajeP = (PasajerosS/PasajerosT)*100
PorcentajeP
## [1] 37.91793
  • Porcentaje de supervivencia de tripulación
#Tripulantes que sobrevivieron
TripulantesS = c(apply(Titanic, c(1,4), sum))[8]

# Total de tripulantes
TripulantesT = TripulantesS + c(apply(Titanic, c(1,4), sum))[4]

# Calcula porcentaje de supervivencia
TripulantesP = (TripulantesS/TripulantesT)*100
TripulantesS
## [1] 212
TripulantesT
## [1] 885
TripulantesP
## [1] 23.9548

Finalmente, es mayor el porcentaje de supervivencia de los pasajeros.

  1. ¿Cuál es la probabilidad de que una mujer de la tripulación sobreviva?
# Para utilizar teorema de bayes, debemos calcular las siguientes probabilidades

# Probabilidad de supervivencia
PersonasVivas = c(apply(Titanic,4,sum))[2]
PersonasTotal = sum(apply(Titanic,4,sum))
Pa = PersonasVivas/PersonasTotal

# Probabilidad de ser mujer en la tripulación
MujerTrip = c(apply(Titanic,c(1,2),sum))[8]
TripTotal = MujerTrip + c(apply(Titanic,c(1,2),sum))[4]
Pb = MujerTrip/TripTotal

# Probabilidad de ser mujer de la tripulación dado que sobrevivió
MujerTripViva = c(apply(Titanic,c(1,2,4),sum))[16]
Pba = MujerTripViva/PersonasVivas

Pfinal = Pab(Pba,Pa,Pb)
Pfinal
##       Yes 
## 0.3496434

  1. ¿Cuál es la probabilidad de que un(a) menor de edad sobreviva en tercera clase?
# Para utilizar teorema de bayes, debemos calcular las siguientes probabilidades

# Probabilidad de supervivencia
PersonasVivas = c(apply(Titanic,4,sum))[2]
PersonasTotal = sum(apply(Titanic,4,sum))
Pa2 = PersonasVivas/PersonasTotal

# Probabilidad de ser niño en tercera clase
Niño3 = c(apply(Titanic,c(1,3),sum))[3]
Total3 = Niño3 + c(apply(Titanic,c(1,3),sum))[7]
Pb2 = Niño3/Total3

# Probabilidad de ser mujer de la tripulación dado que sobrevivió
Niño3Vivo = c(apply(Titanic,c(1,3,4),sum))[11]
Pba2 = Niño3Vivo/PersonasVivas

Pfinal2 = Pab(Pba2,Pa2,Pb2)
Pfinal2
##      Yes 
## 0.109628

  1. ¿En general se cumple el código “mujeres y niños(as) primero”?
# Probabilidad supervivencia mujeres
PmujerS = c(apply(Titanic,c(2,3,4),sum))[8] / (c(apply(Titanic,c(2,3,4),sum))[4] + c(apply(Titanic,c(2,3,4),sum))[8])
PmujerS
## [1] 0.7435294
# Probabilidad supervivencia niños
PniñoS = c(apply(Titanic,c(3,4),sum))[3] / (c(apply(Titanic,c(3,4),sum))[1] + c(apply(Titanic,c(3,4),sum))[3])
PniñoS
## [1] 0.5229358
# Probabilidad supervivencia hombres
PhombreS = c(apply(Titanic,c(2,3,4),sum))[7] / (c(apply(Titanic,c(2,3,4),sum))[3] + c(apply(Titanic,c(2,3,4),sum))[7])
PhombreS
## [1] 0.2027594

En general, se cumple el código de “mujeres y niños(as) primero”, dado que la probabilidad de supervivencia es superior a la probabilidad de supervivencia de los hombres.

  1. Seleccione una clase de forma aleatoria, puede utilizar la función sample. ¿En la clase seleccionada se cumple el código “mujeres y niños(as) primero”?
set.seed(0)
sample(apply(Titanic,1,sum),1)
## 2nd 
## 285
# Sobrevivientes por sexo y clase
apply(Titanic,c(1,2,4),sum)
## , , Survived = No
## 
##       Sex
## Class  Male Female
##   1st   118      4
##   2nd   154     13
##   3rd   422    106
##   Crew  670      3
## 
## , , Survived = Yes
## 
##       Sex
## Class  Male Female
##   1st    62    141
##   2nd    25     93
##   3rd    88     90
##   Crew  192     20
# Probabilidad de supervivencia para mujeres
Mvivas = c(apply(Titanic,c(1,2,3,4),sum))[30]
Mtotal = Mvivas + c(apply(Titanic,c(1,2,3,4),sum))[14]
PM2clase = Mvivas/Mtotal
PM2clase
## [1] 0.8602151
# Probabilidad de supervivencia para niños
Nvivos = c(apply(Titanic,c(1,3,4),sum))[10]
Ntotal = Nvivos 
PN2clase = Nvivos/Ntotal
PN2clase
## [1] 1
# Probabilidad de supervivencia para hombres
Hvivos = c(apply(Titanic,c(1,2,3,4),sum))[26]
Htotal = Hvivos + c(apply(Titanic,c(1,2,3,4),sum))[10]
PH2clase = Hvivos/Htotal
PH2clase
## [1] 0.08333333

Dado que la probabilidad de supervivencia de mujeres y niños es más favorable que la de hombres, se concluye que se cumple el código en la clase seleccionada.