#Técnicas de conteo con permutaciones y combinaciones.
#Objetivo.
#Realizar técnicas e conteo con diversos datos utilizando técnicas de permutaciones y combinaciones
#Descripción.
#Desarrollar un archivo markdown que identifique el uso de las técnicas de permutaciones y combinaciones con un conjunto de nombres de personas.
#1. Cargar librerías.

library(gtools)

#2. Construir los datos de diez nombres de personas.

S.personas <- c("Juan", "Paty", "Laura", "Oscar", "Aracely")

personas.agregadas <- c("Brandon", "Ana", "Regina", "Dylan", "Maria")

S.personas <- c(S.personas,personas.agregadas)
S.personas

set.seed(666)

#3. Realizar Permutaciones con grupos.
#Grupos de 3.

permutaciones.3 <- data.frame(permutations(n = 10,r = 3, S.personas))

#Grupos de 5.

permutaciones.3 <- data.frame(permutations(n = 10,r = 5, S.personas))

#Grupos de 7

permutaciones.3 <- data.frame(permutations(n = 10,r = 7, S.personas))

#4. Realizar Combinaciones con grupos.
#Grupos de 4.

combinaciones.4 <- data.frame(combinations(n = 10,r = 4, S.personas))

#Grupos de 6.

combinaciones.6 <- data.frame(combinations(n = 10,r = 6, S.personas))

#Grupos de 8.

combinaciones.8 <- data.frame(combinations(n = 10,r = 8, S.personas))

#5. Interpretar el caso Permutaciones.
#En permutaciones de 3.

  #  ¿En cuántos casos sale el nombre de “Brandon” en la primera posición?

tabla.1 <- data.frame(transform(table(permutaciones.3$X1)))
tabla.2 <- subset(tabla.1, Var1 == "Brandon")
names(tabla.2) <- c('Nombre', 'Frecuencia')

tabla.2 # casos#

##   Nombre Frecuencia
## 5  Brandon         72


    #¿Cuántas ocasiones aparece “Aracely” en segundo lugar?

tabla.1 <- data.frame(transform(table(permutaciones.3$X2)))
tabla.2 <- subset(tabla.1, Var1 == "Aracely")
names(tabla.2) <- c('Nombre', 'Frecuencia')

tabla.2 # casos#

##    Nombre Frecuencia
## 2 Aracely         72


  #  ¿Cuántas permutaciones se generan?

# Existen 720 permutaciones
tail(permutaciones.3,1)

##         X1   X2   X3
## 720 Victor Rosa Paty

#En permutaciones de 5.

 #   ¿En cuántos casos sale el nombre de “Laura” en la primera posición?

tabla.1 <- data.frame(transform(table(permutaciones.5$X1)))
tabla.2 <- subset(tabla.1, Var1 == "Laura")
names(tabla.2) <- c('Nombre', 'Frecuencia')

tabla.2 # casos#


##   Nombre Frecuencia
## 5  Laura       3024

  #  ¿Cuántas ocasiones aparece “Aracely” en segundo lugar?

tabla.1 <- data.frame(transform(table(permutaciones.5$X2)))
tabla.2 <- subset(tabla.1, Var1 == "Aracely")
names(tabla.2) <- c('Nombre', 'Frecuencia')

tabla.2 # casos#

##    Nombre Frecuencia
## 2 Aracely       3024


  #  ¿Cuántas permutaciones se generan?

# Existen 30240 permutaciones
tail(permutaciones.5,1)

##           X1   X2   X3    X4    X5
## 30240 Victor Rosa Paty Oscar Maria


#En permutaciones de 7.

    #¿En cuántos casos sale el nombre de “Laura” en la primera posición?

tabla.1 <- data.frame(transform(table(permutaciones.7$X1)))
tabla.2 <- subset(tabla.1, Var1 == "Laura")
names(tabla.2) <- c('Nombre', 'Frecuencia')

tabla.2 # casos#

##   Nombre Frecuencia
## 5  Laura      60480

 #   ¿Cuántas ocasiones aparece “Aracely” en segundo lugar?

tabla.1 <- data.frame(transform(table(permutaciones.7$X2)))
tabla.2 <- subset(tabla.1, Var1 == "Aracely")
names(tabla.2) <- c('Nombre', 'Frecuencia')

tabla.2 # casos#

##    Nombre Frecuencia
## 2 Aracely      60480

    ¿Cuántas permutaciones se generan?

# Existen 604800 permutaciones
tail(permutaciones.7,1)

#6. Interpretar Combinaciones.
En combinaciones de 4.

    ¿En cuántas ocasiones se identifican los nombres de “Aracely” y “Laura” de manera contigua en ese orden “Aracely”, “Laura”?

# Se comparan cuantas Aracely´s existen en la primera posicion.
tabla.1 <- subset(combinaciones.4, X1 == "Aracely")
# Despues cuantas Lauras´s le suceden.
tabla.1 <- subset(tabla.1, X2 == "Laura")
tabla.1.1 <- data.frame(transform(table(tabla.1$X1)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.1$Freq)== 0 ){
  a <- 0
}else {
  a <- c(tabla.1.1$Freq)
}

# Se comparan cuantas Aracely´s existen en la primera posicion.
tabla.2 <- subset(combinaciones.4, X2 == "Aracely")
# Despues cuantas Lauras´s le suceden.
tabla.2 <- subset(tabla.2, X3 == "Laura")
tabla.1.2 <- data.frame(transform(table(tabla.2$X2)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.2$Freq)== 0 ){
  b <- 0
}else {
  b <- c(tabla.1.2$Freq)
}

# Se comparan cuantas Aracely´s existen en la primera posicion.
tabla.3 <- subset(combinaciones.4, X3 == "Aracely")
# Despues cuantas Lauras´s le suceden.
tabla.3 <- subset(tabla.3, X4 == "Laura")
tabla.1.3 <- data.frame(transform(table(tabla.3$X3)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.3$Freq)== 0 ){
  c = 0
}else {
  c <- c(tabla.1.3$Freq)
}

# Se imprime la suma de los valores.
tabla.f <- a + b + c
tabla.f # Total de veces



  #  ¿Cuántas ocasiones aparece “Aracely” en primer lugar?

# Areceli aparece
tabla.1.1 # veces

#3.¿Cuántas combinaciones se generan?

# Existen 210 combincaciones
tail(combinaciones.4,1)

#En combinaciones de 6.

    ¿En cuántas ocasiones se identifican los nombres de “Oscar” y “Paty” de manera contigua en ese orden “Oscar”, “Paty”?

# Se comparan cuantos Oscar´s existen en la primera posicion.
tabla.1 <- subset(combinaciones.6, X1 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.1 <- subset(tabla.1, X2 == "Paty")
tabla.1.1 <- data.frame(transform(table(tabla.1$X1)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.1$Freq)== 0 ){
  a <- 0
}else {
  a <- c(tabla.1.1$Freq)
}

# Se comparan cuantos Oscar´s existen en la primera posicion.
tabla.2 <- subset(combinaciones.6, X2 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.2 <- subset(tabla.2, X3 == "Paty")
tabla.1.2 <- data.frame(transform(table(tabla.2$X2)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.2$Freq)== 0 ){
  b <- 0
}else {
  b <- c(tabla.1.2$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.3 <- subset(combinaciones.6, X3 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.3 <- subset(tabla.3, X4 == "Paty")
tabla.1.3 <- data.frame(transform(table(tabla.3$X3)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.3$Freq)== 0 ){
  c = 0
}else {
  c <- c(tabla.1.3$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.4 <- subset(combinaciones.6, X4 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.4 <- subset(tabla.4, X5 == "Paty")
tabla.1.4 <- data.frame(transform(table(tabla.3$X4)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.4$Freq)== 0 ){
  d = 0
}else {
  d <- c(tabla.1.4$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.5 <- subset(combinaciones.6, X5 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.5 <- subset(tabla.5, X5 == "Paty")
tabla.1.5 <- data.frame(transform(table(tabla.5$X5)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.5$Freq)== 0 ){
  e = 0
}else {
  e <- c(tabla.1.5$Freq)
}


# Se imprime la suma de los valores.
tabla.f <- a + b + c +d + e
tabla.f # Total de veces

## [1] 30

    ¿Cuántas ocasiones aparece “Laura” en primer lugar?

# Laura aparece
tabla.1 <- subset(combinaciones.6, X1 == "Laura") 
tabla.1 <- data.frame(transform(table(tabla.1$X1)))
tabla.1 # veces

#3.¿Cuántas combinaciones se generan?

# Existen 210 combincaciones
tail(combinaciones.6,1)

##        X1    X2    X3   X4   X5     X6
## 210 Laura Maria Oscar Paty Rosa Victor

En combinaciones de 8.

    ¿En cuántas ocasiones se identifican los nombres de “Oscar” y “Paty” de manera contigua en ese orden “Oscar”, “Paty”?

# Se comparan cuantos Oscar´s existen en la primera posicion.
tabla.1 <- subset(combinaciones.8, X1 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.1 <- subset(tabla.1, X2 == "Paty")
tabla.1.1 <- data.frame(transform(table(tabla.1$X1)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.1$Freq)== 0 ){
  a <- 0
}else {
  a <- c(tabla.1.1$Freq)
}

# Se comparan cuantos Oscar´s existen en la primera posicion.
tabla.2 <- subset(combinaciones.8, X2 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.2 <- subset(tabla.2, X3 == "Paty")
tabla.1.2 <- data.frame(transform(table(tabla.2$X2)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.2$Freq)== 0 ){
  b <- 0
}else {
  b <- c(tabla.1.2$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.3 <- subset(combinaciones.8, X3 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.3 <- subset(tabla.3, X4 == "Paty")
tabla.1.3 <- data.frame(transform(table(tabla.3$X3)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.3$Freq)== 0 ){
  c = 0
}else {
  c <- c(tabla.1.3$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.4 <- subset(combinaciones.8, X4 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.4 <- subset(tabla.4, X5 == "Paty")
tabla.1.4 <- data.frame(transform(table(tabla.3$X4)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.4$Freq)== 0 ){
  d = 0
}else {
  d <- c(tabla.1.4$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.5 <- subset(combinaciones.8, X5 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.5 <- subset(tabla.5, X6 == "Paty")
tabla.1.5 <- data.frame(transform(table(tabla.5$X5)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.5$Freq)== 0 ){
  e = 0
}else {
  e <- c(tabla.1.5$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.6 <- subset(combinaciones.8, X6 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.6 <- subset(tabla.6, X7 == "Paty")
tabla.1.6 <- data.frame(transform(table(tabla.6$X6)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.6$Freq)== 0 ){
  f = 0
}else {
  f <- c(tabla.1.6$Freq)
}

# Se comparan cuantas Oscar´s existen en la primera posicion.
tabla.7 <- subset(combinaciones.8, X7 == "Oscar")
# Despues cuantas Paty´s le suceden.
tabla.7 <- subset(tabla.7, X8 == "Paty")
tabla.1.7 <- data.frame(transform(table(tabla.5$X7)))
# Comparamos si exitesn coincidencias
if (length(tabla.1.7$Freq)== 0 ){
  g = 0
}else {
  g <- c(tabla.1.7$Freq)
}


# Se imprime la suma de los valores.
tabla.f <- a + b + c + d + e + f + g
tabla.f # Total de veces

#    Cuántas ocasiones aparece “Aracely” en primer lugar?

# Aracely aparece
tabla.1 <- subset(combinaciones.8, X1 == "Aracely") 
tabla.1 <- data.frame(transform(table(tabla.1$X1)))
tabla.1 # veces

##      Var1 Freq
## 1 Aracely    8

3.¿Cuántas combinaciones se generan?

# Existen 45 combincaciones
tail(combinaciones.8,1)