#Practica 7
#Jesus Alejandro Vergara Hernandez
#Numero de control: 16040461  

#CONJUNTOS
#*De una población de 34 nombres se asginan aleatoriamente participantes que jugarán en alguna disciplina deportiva.
#*Puede coincidir que los nombres participen en más de una disciplina.
#*Se realizan operaciones de conjuntos union, intersección y diferencia

#Se generan los nombres que usaremos para esta prueba
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 ordenamos para una mejor observacion
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"
#Total de nombres
n <- length(nombres)
n
## [1] 34
#Semilla para aleatoriadad en 100 para que se generen los mismos equipos
set.seed(100)

#Generamos conjuntos en los equipos:
#Conjuntos: 10 futbol, 8 basquetbol, 11 voleybol, 7 atletismo y 10 en ajedrez
futbol <- sort(sample(nombres, 10))
basquetbol <- sort(sample(nombres,8))
voleybol <- sort(sample(nombres, 11))
atletismo <- sort(sample(nombres, 7))
ajedrez <- sort(sample(nombres, 10))

#Vemos como quedaron los equipos de: 
#FUTBOOL
futbol
##  [1] "Carmen"   "Ernesto"  "Jeorgina" "Lalo"     "Lucy"     "Oscar"   
##  [7] "Paco"     "Paty"     "Raul"     "Rubén"
#BASQUETBOL
basquetbol
## [1] "Ernesto"   "Gabino"    "Juan"      "Lalo"      "Margarita" "Paco"     
## [7] "Patricia"  "Saul"
#VOLEYBOL
voleybol
##  [1] "Antonio"   "Carmen"    "Gabino"    "Gerardo"   "Luisa"     "Margarita"
##  [7] "Margarito" "Maria"     "Memo"      "Paty"      "Rubén"
#ATLETISMO
atletismo
## [1] "Antonio" "Ernesto" "Juan"    "Laura"   "Luisa"   "Maria"   "Rubén"
#AJEDREZ
ajedrez
##  [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario" 
##  [7] "Rubén"    "Salvador" "Sandro"   "Yuri"
#Union de conjuntos 
#Los elementos de un conjunto agregando los del otro
union(ajedrez, futbol)
##  [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario" 
##  [7] "Rubén"    "Salvador" "Sandro"   "Yuri"     "Carmen"   "Ernesto" 
## [13] "Jeorgina" "Lalo"     "Lucy"     "Paty"     "Raul"
union(ajedrez, basquetbol)
##  [1] "Ana"       "Javier"    "Oscar"     "Paco"      "Romualdo"  "Rosario"  
##  [7] "Rubén"     "Salvador"  "Sandro"    "Yuri"      "Ernesto"   "Gabino"   
## [13] "Juan"      "Lalo"      "Margarita" "Patricia"  "Saul"
union(ajedrez, voleybol)
##  [1] "Ana"       "Javier"    "Oscar"     "Paco"      "Romualdo"  "Rosario"  
##  [7] "Rubén"     "Salvador"  "Sandro"    "Yuri"      "Antonio"   "Carmen"   
## [13] "Gabino"    "Gerardo"   "Luisa"     "Margarita" "Margarito" "Maria"    
## [19] "Memo"      "Paty"
union(ajedrez, atletismo)
##  [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario" 
##  [7] "Rubén"    "Salvador" "Sandro"   "Yuri"     "Antonio"  "Ernesto" 
## [13] "Juan"     "Laura"    "Luisa"    "Maria"
union(ajedrez, ajedrez)
##  [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario" 
##  [7] "Rubén"    "Salvador" "Sandro"   "Yuri"
#Otros ejemplos de union de conjuntos
union(futbol, basquetbol)
##  [1] "Carmen"    "Ernesto"   "Jeorgina"  "Lalo"      "Lucy"      "Oscar"    
##  [7] "Paco"      "Paty"      "Raul"      "Rubén"     "Gabino"    "Juan"     
## [13] "Margarita" "Patricia"  "Saul"
union(voleybol, atletismo)
##  [1] "Antonio"   "Carmen"    "Gabino"    "Gerardo"   "Luisa"     "Margarita"
##  [7] "Margarito" "Maria"     "Memo"      "Paty"      "Rubén"     "Ernesto"  
## [13] "Juan"      "Laura"
union(basquetbol, futbol)
##  [1] "Ernesto"   "Gabino"    "Juan"      "Lalo"      "Margarita" "Paco"     
##  [7] "Patricia"  "Saul"      "Carmen"    "Jeorgina"  "Lucy"      "Oscar"    
## [13] "Paty"      "Raul"      "Rubén"
#VEREMOS QUE PASA SI UNIMOS TODOS LOS ELEMENTOS
jueganFB <- union(futbol, basquetbol)
jueganFBV <- union(jueganFB, voleybol)
jueganFBVA <- union(jueganFBV, atletismo)
jueganFBVAJ <- union(jueganFBVA, ajedrez)

#VEMOS EL RESULTADO
jueganFBVAJ
##  [1] "Carmen"    "Ernesto"   "Jeorgina"  "Lalo"      "Lucy"      "Oscar"    
##  [7] "Paco"      "Paty"      "Raul"      "Rubén"     "Gabino"    "Juan"     
## [13] "Margarita" "Patricia"  "Saul"      "Antonio"   "Gerardo"   "Luisa"    
## [19] "Margarito" "Maria"     "Memo"      "Laura"     "Ana"       "Javier"   
## [25] "Romualdo"  "Rosario"   "Salvador"  "Sandro"    "Yuri"
#LOS ORDENAMOS PARA UNA MEJOR OBSERVACION
sort(jueganFBVAJ)
##  [1] "Ana"       "Antonio"   "Carmen"    "Ernesto"   "Gabino"    "Gerardo"  
##  [7] "Javier"    "Jeorgina"  "Juan"      "Lalo"      "Laura"     "Lucy"     
## [13] "Luisa"     "Margarita" "Margarito" "Maria"     "Memo"      "Oscar"    
## [19] "Paco"      "Patricia"  "Paty"      "Raul"      "Romualdo"  "Rosario"  
## [25] "Rubén"     "Salvador"  "Sandro"    "Saul"      "Yuri"
#INTERSECCION DE CONJUNTOS 
#AHORA VEREMOS QUIENES SE ENCUENTREN EN AMBOS EQUIPOS
intersect(ajedrez, futbol)
## [1] "Oscar" "Paco"  "Rubén"
intersect(ajedrez, basquetbol)
## [1] "Paco"
intersect(ajedrez, voleybol)
## [1] "Rubén"
intersect(ajedrez, atletismo)
## [1] "Rubén"
intersect(ajedrez, ajedrez)
##  [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario" 
##  [7] "Rubén"    "Salvador" "Sandro"   "Yuri"
#LAS OTRAS INTERSECCIONES 
intersect(futbol, basquetbol)
## [1] "Ernesto" "Lalo"    "Paco"
intersect(voleybol, atletismo)
## [1] "Antonio" "Luisa"   "Maria"   "Rubén"
intersect(basquetbol, futbol)
## [1] "Ernesto" "Lalo"    "Paco"
#DIFERENCIA DE CONJUNTOS 
#QUIENES JUEGAN UN DEPORTE Y NO JUEGAN OTRO
setdiff(ajedrez, futbol)
## [1] "Ana"      "Javier"   "Romualdo" "Rosario"  "Salvador" "Sandro"   "Yuri"
setdiff(ajedrez, basquetbol)
## [1] "Ana"      "Javier"   "Oscar"    "Romualdo" "Rosario"  "Rubén"    "Salvador"
## [8] "Sandro"   "Yuri"
setdiff(ajedrez, voleybol)
## [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario"  "Salvador"
## [8] "Sandro"   "Yuri"
setdiff(ajedrez, atletismo)
## [1] "Ana"      "Javier"   "Oscar"    "Paco"     "Romualdo" "Rosario"  "Salvador"
## [8] "Sandro"   "Yuri"
setdiff(ajedrez, ajedrez)
## character(0)
#OTROS EJEMPLOS DE UNION DE CONJUNTOS 
setdiff(futbol, basquetbol)
## [1] "Carmen"   "Jeorgina" "Lucy"     "Oscar"    "Paty"     "Raul"     "Rubén"
setdiff(voleybol, atletismo)
## [1] "Carmen"    "Gabino"    "Gerardo"   "Margarita" "Margarito" "Memo"     
## [7] "Paty"
setdiff(basquetbol, futbol)
## [1] "Gabino"    "Juan"      "Margarita" "Patricia"  "Saul"
#AHORA VEREMOS QUIENES NO JUEGAN A NADA
# para esto usaremos la variable anterior que son los que si juegan y la asignamos a una nueva variable
jueganFBVAJ
##  [1] "Carmen"    "Ernesto"   "Jeorgina"  "Lalo"      "Lucy"      "Oscar"    
##  [7] "Paco"      "Paty"      "Raul"      "Rubén"     "Gabino"    "Juan"     
## [13] "Margarita" "Patricia"  "Saul"      "Antonio"   "Gerardo"   "Luisa"    
## [19] "Margarito" "Maria"     "Memo"      "Laura"     "Ana"       "Javier"   
## [25] "Romualdo"  "Rosario"   "Salvador"  "Sandro"    "Yuri"
sijuegan <- jueganFBVAJ

#LOS QUE NO JUEGAN NADA
nojuegannada <- sort(setdiff(nombres, sijuegan))
nojuegannada
## [1] "Aracely" "Eduardo" "Luis"    "Lupita"  "Sandra"
#CUANTOS SI JUEGAN ALGUN DEPORTE
length(sijuegan)
## [1] 29
#CUANTOS NO JUEGAN 
length(nojuegannada)
## [1] 5
#PROPORCIONES Y PORCENTAJES 
#QUE PORCENTAJE SI JUEGA ALGO Y QUE POCENTAJE NO JUEGA ALGUN DEPORTE 
#NOTAS: 
#PARA CUESTIONES DE CALCULOS NOS INTERESA USAR LAS PROPORCIONES
#PARA EFECTOS DE VISUALIZACION DE RESULTADOS BASTARIA CON PORCENTAJES REDONDEO
propor.SIJUEGA <- length(sijuegan)/n
propor.SIJUEGA
## [1] 0.8529412
#EN PORCENTAJE SERIA
propor.SIJUEGA*100
## [1] 85.29412
#Redondeado
round(propor.SIJUEGA*100)
## [1] 85
propor.NOJUEGA <- length(nojuegannada)/n
propor.NOJUEGA
## [1] 0.1470588
#EN PORCENTAJE SERIA
propor.NOJUEGA*100
## [1] 14.70588
#Redondeado
round(propor.NOJUEGA*100)
## [1] 15
#PROBABILIDADES
#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE FUTBOL?
propor.JUEGAFUT <- length(futbol)/n
propor.JUEGAFUT
## [1] 0.2941176
#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE BASQUETBOL?
propor.JUEGABAS <- length(basquetbol)/n
propor.JUEGABAS
## [1] 0.2352941
#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE VOLEYBOL?
propor.JUEGAVOL <- length(voleybol)/n
propor.JUEGAVOL
## [1] 0.3235294
#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE ATLETISMO?
propor.JUEGAATL <- length(atletismo)/n
propor.JUEGAATL
## [1] 0.2058824
#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE AJEDREZ?
propor.JUEGAAJE <- length(ajedrez)/n
propor.JUEGAAJE
## [1] 0.2941176
#Y POR ULTIMO CREAMOS UN DATA FRAME DE LOS NOMBRES Y LAS DISCIPLINAS 
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    TRUE
## 2    Antonio  FALSE      FALSE     TRUE      TRUE   FALSE
## 3    Aracely  FALSE      FALSE    FALSE     FALSE   FALSE
## 4     Carmen   TRUE      FALSE     TRUE     FALSE   FALSE
## 5    Eduardo  FALSE      FALSE    FALSE     FALSE   FALSE
## 6    Ernesto   TRUE       TRUE    FALSE      TRUE   FALSE
## 7     Gabino  FALSE       TRUE     TRUE     FALSE   FALSE
## 8    Gerardo  FALSE      FALSE     TRUE     FALSE   FALSE
## 9     Javier  FALSE      FALSE    FALSE     FALSE    TRUE
## 10  Jeorgina   TRUE      FALSE    FALSE     FALSE   FALSE
## 11      Juan  FALSE       TRUE    FALSE      TRUE   FALSE
## 12      Lalo   TRUE       TRUE    FALSE     FALSE   FALSE
## 13     Laura  FALSE      FALSE    FALSE      TRUE   FALSE
## 14      Lucy   TRUE      FALSE    FALSE     FALSE   FALSE
## 15      Luis  FALSE      FALSE    FALSE     FALSE   FALSE
## 16     Luisa  FALSE      FALSE     TRUE      TRUE   FALSE
## 17    Lupita  FALSE      FALSE    FALSE     FALSE   FALSE
## 18 Margarita  FALSE       TRUE     TRUE     FALSE   FALSE
## 19 Margarito  FALSE      FALSE     TRUE     FALSE   FALSE
## 20     Maria  FALSE      FALSE     TRUE      TRUE   FALSE
## 21      Memo  FALSE      FALSE     TRUE     FALSE   FALSE
## 22     Oscar   TRUE      FALSE    FALSE     FALSE    TRUE
## 23      Paco   TRUE       TRUE    FALSE     FALSE    TRUE
## 24  Patricia  FALSE       TRUE    FALSE     FALSE   FALSE
## 25      Paty   TRUE      FALSE     TRUE     FALSE   FALSE
## 26      Raul   TRUE      FALSE    FALSE     FALSE   FALSE
## 27  Romualdo  FALSE      FALSE    FALSE     FALSE    TRUE
## 28   Rosario  FALSE      FALSE    FALSE     FALSE    TRUE
## 29     Rubén   TRUE      FALSE     TRUE      TRUE    TRUE
## 30  Salvador  FALSE      FALSE    FALSE     FALSE    TRUE
## 31    Sandra  FALSE      FALSE    FALSE     FALSE   FALSE
## 32    Sandro  FALSE      FALSE    FALSE     FALSE    TRUE
## 33      Saul  FALSE       TRUE    FALSE     FALSE   FALSE
## 34      Yuri  FALSE      FALSE    FALSE     FALSE    TRUE
#CONCLUSION: 
#CON ESTA PRACTICA se aprednio a realizar conjuntos en donde se asignaron numeros a los deportes aleatoriamente de esa forma observar el conjunto de cada deporte con otro, en la parte de la interseccion se observo que nombres se econtraban en un deporte y en la diferencia de conjuntos fue de gran utilidad para conocer que nombres juegan en un deporte y cuales no juegan.