(library(gtools))
## [1] "gtools" "stats" "graphics" "grDevices" "utils" "datasets"
## [7] "methods" "base"
La diferencia entre combinaciones y permutaciones es que las cominaciones son agrupaciones de objetos donde el orden no importa, en cambio en las permutaciones, el orden de los objetos si importa.
Con la ayuda de R “help(permutations)”, “help(combinations)”. Las funciones están definidad de la forma:
combinations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
permutations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
En donde ‘n’ corresponde al tamaño, ‘r’ el número de elementos y todas estas correspondientes al vector ‘v’. el vector utilizado como recurso. “set” es un indicador logico que permite eliminar los duplicados que existan en el vector base/fuente. “repeats.allowed” indicador logico que permite la construcción de vectores con valores duplicados.
a) La cantidad de permutaciones posibles con n = 14 y r = 4 con y sin repetición.
Con repetición:
nrow(permutations(n=14, r=4, v=1:14, set=TRUE, repeats.allowed=TRUE))
## [1] 38416
Sin Repetición:
nrow(permutations(n=14, r=4, v=1:14, set=TRUE, repeats.allowed=FALSE))
## [1] 24024
b) Las combinaciones de largo tres con las letras a, b y c con y sin repetición.
Con repetición:
combinations(n=3, r=3, v=c("a","b","c"), set=TRUE, repeats.allowed=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"
Sin Repetición:
combinations(n=3, r=3, v=c("a","b","c"), set=TRUE, repeats.allowed=FALSE)
## [,1] [,2] [,3]
## [1,] "a" "b" "c"
c) La cantidad de permutaciones y combinaciones con n = 30 y r = 2 sin repetición.
Permutaciones sin repetición:
nrow(permutations(30, 2, repeats.allowed = FALSE))
## [1] 870
Combinaciones sin repetición:
nrow(combinations(30, 2, repeats.allowed = FALSE))
## [1] 435
a) Cree una función que calcule la probabilidad de A dado B, vea la Ecuación 1.
Para utilitar los datos de “titanic”, primero deben ser cargados.
data("Titanic")
Luego creo la función
Prob_A_B = function(Prob_A, Prob_B, Prob_BA){
return(Prob_BA*Prob_A/Prob_B)
}
b) Responda las siguientes preguntas:
1) ¿Cuál es el porcentaje de supervivencia de los pasajeros y de la tripulación?
calculos:
tripulacion = apply(Titanic, c(1), sum)[4]
clase_vivos = sum((apply(Titanic, c(1, 4), sum)[1:3]))+ sum((apply(Titanic, c(1, 4), sum)[5:7]))
tripulantes_vivos = apply(Titanic, c(1, 4), sum)[8]
pasajeros_vivos = sum(apply(Titanic, c(1, 4), sum)[5:7])
tripulantes = (tripulantes_vivos/tripulacion)*100
pasajeros = (pasajeros_vivos/clase_vivos)*100
Porcentaje de tripulantes vivos:
print(tripulantes)
## Crew
## 23.9548
Porcentaje de pasajeros vivos:
print(pasajeros)
## [1] 37.91793
¿Cuál es mayor?
La cantidad de pasajeros es mayor a la de los tripulantes
2) ¿Cuál es la probabilidad de que una mujer de la tripulación sobreviva?
tripulante_viva = apply(Titanic,c(1,2,4),sum)
tripulante_mujer = tripulante_viva[8] + tripulante_viva[16]
tripu_mujer_viva = tripulante_viva[16]/tripulante_mujer
cat(paste("La probabilidad de que una mujer de la tripulación sobreviva es: ",tripu_mujer_viva))
## La probabilidad de que una mujer de la tripulación sobreviva es: 0.869565217391304
3) ¿Cuál es la probabilidad de que un(a) menor de edad sobreviva en tercera clase?
clase = apply(Titanic,c(1,3,4),sum)
menor_3ra_clase = clase[3]+clase[11]
total = clase[11]/menor_3ra_clase
cat(paste("La probabilidad de que un(a) menor de edad sobreviva en tercera clase es: ",total))
## La probabilidad de que un(a) menor de edad sobreviva en tercera clase es: 0.341772151898734
4) ¿En general se cumple el código “mujeres y niños(as) primero”?
Si, ya que los porcentajes son bastante altos comparados a los demas, pero a medida que avanza de clase este va disminuyendo.
5) Seleccione una clase de forma aleatoria, puede utilizar la función sample.
set.seed(98)
sample(apply(Titanic,1,sum),1)
## 2nd
## 285
¿En la clase seleccionada se cumple el código “mujeres y niños(as) primero”?
Si se cumple el codigo.