library("gtools")

Número 1

Explicacion breve de permutación y combinación

La permutación busca diferentes maneras para organizar u ordenar un conjuntos de elementos, en cambio, para el caso de las combinaciones se buscan las diferentes maneras de escoger o elegir un objeto de un conjuntos de objetos, sin considerar el orden de estos objetos, Por lo tanto para la permutación si importa el orden de los objetos o conjuntos y para la combinación el orden no importa en lo absoluto.

Número 2

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

La función “combinations” se usa para enumerar las combinaciones posibles de elementos, con un tamaño determinado, dentro de un vector.Por otro lado la función permutations se usa para enumerar las posibles permutaciones de los elementos, tambien con un tamaño determinado y dentro de un vector. Las dos funciones mencionadas poseen los mismos parametros para su correcta implementción, un número “n” el cual corresponde al tamaño del vector principal, un número “r” que corresponde al tamaño de las combinaciones o permutaciones y 2 banderas o etiquetas logicas, “set”, donde indica si puede haber repetición de elementos dentro del vector original y “repeats.allowed”, que por el contrario permite o no si pueden haber elementos duplicados en el nuevo vector.

Número 3

Calcule:

a) La cantidad de permutaciones posibles con n = 14 y r = 4 con y sin repetición.

#Permutaciones sin repeticiones

permutacion_sin = permutations(14, 4)
print(nrow(permutacion_sin))
## [1] 24024
#Permutaciones con repeticiones

permutacion_con = permutations(14, 4, v= 1:14, set=FALSE, repeats.allowed= TRUE)
print(nrow(permutacion_con))
## [1] 38416

b) Las combinaciones de largo tres con las letras a, b y c con y sin repetición.

#Combinación sin repetición

combinacion_sin = combinations(3,3,letters[1:3])
combinacion_sin
##      [,1] [,2] [,3]
## [1,] "a"  "b"  "c"
#Combinación con repetición

combinacion_con = combinations(3,3,letters[1:3],repeats=TRUE)
combinacion_con
##       [,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"

c) La cantidad de permutaciones y combinaciones con n = 30 y r = 2 sin repetición.

#Permutación sin repetición

p_sin = permutations(30, 2)
print(nrow(p_sin))
## [1] 870
#Combinación sin repetición

c_sin = combinations(30, 2)
print(nrow(c_sin))
## [1] 435

Número 5

Utilizando el conjunto de datos Titanic:

a) Cree una función que calcule la probabilidad de A dado B

A_dado_B = function(A, B, BA){
  return(BA*A/B)
}

b)

1) ¿Cuál es el porcentaje de supervivencia de los pasajeros y de la tripulación? ¿Cuál es mayor?

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]))
tripu_vivos=apply(Titanic, c(1, 4), sum)[8]
pasajeros_vivos =sum(apply(Titanic, c(1, 4), sum)[5:7])
tv =(tripu_vivos/tripulacion)*100 #multiplicamos por 100 para el porcentaje
pv =(pasajeros_vivos/clase_vivos)*100
print(tv)
##    Crew 
## 23.9548
#Porcentaje pasajeros vivos
print(pv)
## [1] 37.91793

Podemos observar que existe un mayor porcentaje de pasajeros vivos

2) ¿Cuál es la probabilidad de que una mujer de la tripulación sobreviva?

tripu_viva = apply(Titanic,c(1,2,4),sum)
tripu_fem = tripu_viva[8] + tripu_viva[16]
tripu_mujer = tripu_viva[16]/tripu_fem
cat(paste("Probabilidad de que una mujer de la tripulación sobreviva es: ",tripu_mujer))
## 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?

sob_clase = apply(Titanic,c(1,3,4),sum)
kids_3ra = sob_clase[3]+sob_clase[11]
sobreviva3ra = sob_clase[11]/kids_3ra
cat(paste("Probabilidad de que un menor de edad sobreviva en tercera clase es: ",sobreviva3ra))
## Probabilidad de que un 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. ¿En la clase seleccionada se cumple el código “mujeres y niños(as) primero”?

set.seed(98)
sample(apply(Titanic,1,sum),1)
## 2nd 
## 285

Si cumple con el codigo