#Se generan los nombres

nombres <- c("Juan", "Paco", "Lalo", "Memo", "Paty", "Laura", "Oscar", "Luis", "Ernesto", "Lupita", "Carmen", "Eduardo", "Ana", "Luisa", "Maria", "Rosario", "Margarita", "Margarito", "Sandra", "Sandro", "Rubén", "Gabino", "Patricia", "Salvador", "Romualdo", "Saul", "Raul", "Gerardo", "Antonio", "Yuri", "Aracely", "Jeorgina", "Javier", "Lucy")

#Los Vemos ordenados

nombres <- sort(nombres)
nombres
##  [1] "Ana"       "Antonio"   "Aracely"   "Carmen"    "Eduardo"   "Ernesto"  
##  [7] "Gabino"    "Gerardo"   "Javier"    "Jeorgina"  "Juan"      "Lalo"     
## [13] "Laura"     "Lucy"      "Luis"      "Luisa"     "Lupita"    "Margarita"
## [19] "Margarito" "Maria"     "Memo"      "Oscar"     "Paco"      "Patricia" 
## [25] "Paty"      "Raul"      "Romualdo"  "Rosario"   "Rubén"     "Salvador" 
## [31] "Sandra"    "Sandro"    "Saul"      "Yuri"

#Número de elemntos o población total

n <- length(nombres)
n
## [1] 34

#Semilla de aleatoriedad en 100 para que se generen los mismos equipos

set.seed(100)

#Generando participantes en equipos deportivos #Generando conjuntos:15 en futbol, 19 en basquetbol, 6 en voleybol, 5 en atletismo y 2 en ajedrez

futbol <- sort(sample(nombres, 15))
basquetbol <- sort(sample(nombres,10))
voleybol <- sort(sample(nombres, 6))
atletismo <- sort(sample(nombres, 5))
ajedrez <- sort(sample(nombres, 2))

#Visualizamos los integrantes de los equipos de los conjuntos

futbol
##  [1] "Antonio"  "Carmen"   "Ernesto"  "Gabino"   "Jeorgina" "Juan"    
##  [7] "Lalo"     "Lucy"     "Oscar"    "Paco"     "Paty"     "Raul"    
## [13] "Romualdo" "Rosario"  "Rubén"
basquetbol
##  [1] "Antonio"   "Aracely"   "Carmen"    "Gerardo"   "Lalo"      "Margarita"
##  [7] "Margarito" "Paty"      "Sandra"    "Yuri"
voleybol
## [1] "Carmen"   "Gabino"   "Memo"     "Paty"     "Romualdo" "Sandro"
atletismo
## [1] "Antonio" "Ernesto" "Juan"    "Luisa"   "Maria"
ajedrez
## [1] "Rubén"    "Salvador"

##Union de conjuntos #Los elemntos que están en un conjunto agregando los que están en el otro conjunto

union(futbol, basquetbol) # Los que juegan o uno u otro
##  [1] "Antonio"   "Carmen"    "Ernesto"   "Gabino"    "Jeorgina"  "Juan"     
##  [7] "Lalo"      "Lucy"      "Oscar"     "Paco"      "Paty"      "Raul"     
## [13] "Romualdo"  "Rosario"   "Rubén"     "Aracely"   "Gerardo"   "Margarita"
## [19] "Margarito" "Sandra"    "Yuri"
union(futbol, voleybol)
##  [1] "Antonio"  "Carmen"   "Ernesto"  "Gabino"   "Jeorgina" "Juan"    
##  [7] "Lalo"     "Lucy"     "Oscar"    "Paco"     "Paty"     "Raul"    
## [13] "Romualdo" "Rosario"  "Rubén"    "Memo"     "Sandro"
union(futbol, atletismo)
##  [1] "Antonio"  "Carmen"   "Ernesto"  "Gabino"   "Jeorgina" "Juan"    
##  [7] "Lalo"     "Lucy"     "Oscar"    "Paco"     "Paty"     "Raul"    
## [13] "Romualdo" "Rosario"  "Rubén"    "Luisa"    "Maria"
union(futbol, ajedrez)
##  [1] "Antonio"  "Carmen"   "Ernesto"  "Gabino"   "Jeorgina" "Juan"    
##  [7] "Lalo"     "Lucy"     "Oscar"    "Paco"     "Paty"     "Raul"    
## [13] "Romualdo" "Rosario"  "Rubén"    "Salvador"

#Otras operaciones de unión de conjuntos

union(basquetbol, voleybol) # Los que juegan o uno u otro
##  [1] "Antonio"   "Aracely"   "Carmen"    "Gerardo"   "Lalo"      "Margarita"
##  [7] "Margarito" "Paty"      "Sandra"    "Yuri"      "Gabino"    "Memo"     
## [13] "Romualdo"  "Sandro"
union(atletismo, ajedrez)
## [1] "Antonio"  "Ernesto"  "Juan"     "Luisa"    "Maria"    "Rubén"    "Salvador"
union(atletismo, voleybol)
##  [1] "Antonio"  "Ernesto"  "Juan"     "Luisa"    "Maria"    "Carmen"  
##  [7] "Gabino"   "Memo"     "Paty"     "Romualdo" "Sandro"

#Que sucede si unimos todos los elementos

jueganfb  <- union (basquetbol, futbol) 
jueganfbv <- union(jueganfb, voleybol)
jueganfbva <- union(jueganfbv, atletismo)
jueganfbvaj <- union(jueganfbva, ajedrez)

# Los vemos ordenados
sort(jueganfbvaj)
##  [1] "Antonio"   "Aracely"   "Carmen"    "Ernesto"   "Gabino"    "Gerardo"  
##  [7] "Jeorgina"  "Juan"      "Lalo"      "Lucy"      "Luisa"     "Margarita"
## [13] "Margarito" "Maria"     "Memo"      "Oscar"     "Paco"      "Paty"     
## [19] "Raul"      "Romualdo"  "Rosario"   "Rubén"     "Salvador"  "Sandra"   
## [25] "Sandro"    "Yuri"

##Intersección de conjuntos #Resuelve el dilema de quienes están en un equipo y que también están en otro

intersect(futbol, basquetbol) # Los que juegan y que tambien juegan en otro equipo
## [1] "Antonio" "Carmen"  "Lalo"    "Paty"
intersect(futbol, voleybol)
## [1] "Carmen"   "Gabino"   "Paty"     "Romualdo"
intersect(futbol, atletismo)
## [1] "Antonio" "Ernesto" "Juan"
intersect(futbol, ajedrez)
## [1] "Rubén"

#Otras intersecciones

intersect(ajedrez, basquetbol) # Los que juegan y que tambien juegan en otro equipo
## character(0)
intersect(voleybol, basquetbol)
## [1] "Carmen" "Paty"
intersect(basquetbol, atletismo)
## [1] "Antonio"
intersect(atletismo, ajedrez) # character(0), significa que no hay
## character(0)

##Diferencia de conjuntos #Resuelve quienes juegan un deporte y no juegan otro

setdiff(futbol, basquetbol) # Los que juegan y que NO juegan en otro equipo
##  [1] "Ernesto"  "Gabino"   "Jeorgina" "Juan"     "Lucy"     "Oscar"   
##  [7] "Paco"     "Raul"     "Romualdo" "Rosario"  "Rubén"
setdiff(futbol, voleybol)
##  [1] "Antonio"  "Ernesto"  "Jeorgina" "Juan"     "Lalo"     "Lucy"    
##  [7] "Oscar"    "Paco"     "Raul"     "Rosario"  "Rubén"
setdiff(futbol, atletismo)
##  [1] "Carmen"   "Gabino"   "Jeorgina" "Lalo"     "Lucy"     "Oscar"   
##  [7] "Paco"     "Paty"     "Raul"     "Romualdo" "Rosario"  "Rubén"
setdiff(futbol, ajedrez)
##  [1] "Antonio"  "Carmen"   "Ernesto"  "Gabino"   "Jeorgina" "Juan"    
##  [7] "Lalo"     "Lucy"     "Oscar"    "Paco"     "Paty"     "Raul"    
## [13] "Romualdo" "Rosario"

#Otras diferencias

setdiff(ajedrez, basquetbol) # # Los que juegan y que NO juegan en otro equipo
## [1] "Rubén"    "Salvador"
# character(0), significa que no ha
setdiff(voleybol, basquetbol) 
## [1] "Gabino"   "Memo"     "Romualdo" "Sandro"
setdiff(basquetbol, atletismo)
## [1] "Aracely"   "Carmen"    "Gerardo"   "Lalo"      "Margarita" "Margarito"
## [7] "Paty"      "Sandra"    "Yuri"
setdiff(atletismo, ajedrez) 
## [1] "Antonio" "Ernesto" "Juan"    "Luisa"   "Maria"

##Quienes no juegan nada #Reutilizamos la variable jueganfbvaj y lo asignamos a la variable si juegan para haverlo más entendible y práctico

# Reutilizamos los que si juegan
jueganfbvaj
##  [1] "Antonio"   "Aracely"   "Carmen"    "Gerardo"   "Lalo"      "Margarita"
##  [7] "Margarito" "Paty"      "Sandra"    "Yuri"      "Ernesto"   "Gabino"   
## [13] "Jeorgina"  "Juan"      "Lucy"      "Oscar"     "Paco"      "Raul"     
## [19] "Romualdo"  "Rosario"   "Rubén"     "Memo"      "Sandro"    "Luisa"    
## [25] "Maria"     "Salvador"
sijuegan <- jueganfbvaj

nojuegannada <- sort(setdiff(nombres, sijuegan ))  # sort ya para verlo ordenado
nojuegannada
## [1] "Ana"      "Eduardo"  "Javier"   "Laura"    "Luis"     "Lupita"   "Patricia"
## [8] "Saul"

#Cuántos SI JUEGAN algún deporte #Cuántos NO JUEGAN algún deporte

length(sijuegan)
## [1] 26
length(nojuegannada)
## [1] 8

##Sacando proporciones y procentajes #Que porcentaje SI JUEGA ALGO Y QUE porcentaje NO JUEGA algún deporte #Notas: #Para cuestiones de cálculos nos interesa usar las proporciones ##Para efectos de visualización de resultados bastaría con porcentajes redondedo

propor.SIJUEGA <- length(sijuegan) / n
propor.SIJUEGA
## [1] 0.7647059
# En porcentaje
propor.SIJUEGA * 100
## [1] 76.47059
# redondeado
round(propor.SIJUEGA * 100)
## [1] 76
propor.NOJUEGA <- length(nojuegannada) / n
propor.NOJUEGA
## [1] 0.2352941
# En porcentaje
propor.NOJUEGA * 100 
## [1] 23.52941
# redondeado
round(propor.NOJUEGA * 100)
## [1] 24

###Probabilidades ##¿Qué probabilidad existe de elejir ALEATORIAEMNTE a un nombre y JUEGUE ALGÚN DEPORTE?

propor.SIJUEGA
## [1] 0.7647059
propor.NOJUEGA
## [1] 0.2352941

###Creando un data frame con los nombres y la disciplina en donde participan. Ordenados

datos <- data.frame(nombres, futbol=nombres %in% futbol, basquetbol=nombres %in% basquetbol, voleybol=nombres %in% voleybol, atletismo=nombres %in% atletismo, ajedrez=nombres %in% ajedrez)

datos
##      nombres futbol basquetbol voleybol atletismo ajedrez
## 1        Ana  FALSE      FALSE    FALSE     FALSE   FALSE
## 2    Antonio   TRUE       TRUE    FALSE      TRUE   FALSE
## 3    Aracely  FALSE       TRUE    FALSE     FALSE   FALSE
## 4     Carmen   TRUE       TRUE     TRUE     FALSE   FALSE
## 5    Eduardo  FALSE      FALSE    FALSE     FALSE   FALSE
## 6    Ernesto   TRUE      FALSE    FALSE      TRUE   FALSE
## 7     Gabino   TRUE      FALSE     TRUE     FALSE   FALSE
## 8    Gerardo  FALSE       TRUE    FALSE     FALSE   FALSE
## 9     Javier  FALSE      FALSE    FALSE     FALSE   FALSE
## 10  Jeorgina   TRUE      FALSE    FALSE     FALSE   FALSE
## 11      Juan   TRUE      FALSE    FALSE      TRUE   FALSE
## 12      Lalo   TRUE       TRUE    FALSE     FALSE   FALSE
## 13     Laura  FALSE      FALSE    FALSE     FALSE   FALSE
## 14      Lucy   TRUE      FALSE    FALSE     FALSE   FALSE
## 15      Luis  FALSE      FALSE    FALSE     FALSE   FALSE
## 16     Luisa  FALSE      FALSE    FALSE      TRUE   FALSE
## 17    Lupita  FALSE      FALSE    FALSE     FALSE   FALSE
## 18 Margarita  FALSE       TRUE    FALSE     FALSE   FALSE
## 19 Margarito  FALSE       TRUE    FALSE     FALSE   FALSE
## 20     Maria  FALSE      FALSE    FALSE      TRUE   FALSE
## 21      Memo  FALSE      FALSE     TRUE     FALSE   FALSE
## 22     Oscar   TRUE      FALSE    FALSE     FALSE   FALSE
## 23      Paco   TRUE      FALSE    FALSE     FALSE   FALSE
## 24  Patricia  FALSE      FALSE    FALSE     FALSE   FALSE
## 25      Paty   TRUE       TRUE     TRUE     FALSE   FALSE
## 26      Raul   TRUE      FALSE    FALSE     FALSE   FALSE
## 27  Romualdo   TRUE      FALSE     TRUE     FALSE   FALSE
## 28   Rosario   TRUE      FALSE    FALSE     FALSE   FALSE
## 29     Rubén   TRUE      FALSE    FALSE     FALSE    TRUE
## 30  Salvador  FALSE      FALSE    FALSE     FALSE    TRUE
## 31    Sandra  FALSE       TRUE    FALSE     FALSE   FALSE
## 32    Sandro  FALSE      FALSE     TRUE     FALSE   FALSE
## 33      Saul  FALSE      FALSE    FALSE     FALSE   FALSE
## 34      Yuri  FALSE       TRUE    FALSE     FALSE   FALSE

#En esta practica aprendimos las probabilidades de que una persona si esté en una actividad y de que no, de igual forma aprendimos a trabajar diferencias de conjuntos de los que juegan y no juegan en un equipo, intersecciones, intersecciones de conjuntos y uniones de elementos.

####FIN DE LA PRÁCTICA