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 ordenamos y mostramos
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 elementos de la población
n <- length(nombres)
n
## [1] 34
Semilla de aleatoriedad en 100 para generar los mismos equipos
set.seed(100)
Generando participantes en equipos deportivos
Generando conjuntos: 15 en futbol, 10 en basquetbol, 6 en voleybol, 5 atletismo y 2 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 cada conjunto
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"

Unión de conjuntos

Los elementos que están en un conjunto agregando los que están en 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 conjuntos
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 estan en un equipo pero tambien en otro
intersect(futbol, basquetbol) # Los que juegan futbol y que tambien juegan basquetbol
## [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)
## character(0)
intersect(voleybol, basquetbol)
## [1] "Carmen" "Paty"
intersect(basquetbol, atletismo)
## [1] "Antonio"
intersect(atletismo, ajedrez)
## 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)
## [1] "Rubén"    "Salvador"
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 la asignamos a la variable sijuegan para hacerlo más entendible y pá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íun 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 redondeo
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
¿Qué probabilidad existe de elejir ALEATORIAEMNTE a un nombre y NO JUEGUE ALGÚN DEPORTE?
propor.NOJUEGA
## [1] 0.2352941
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE FUTBOL?
jueganF <- length(futbol)/n
jueganF
## [1] 0.4411765
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE BASQUETBOL?
jueganB <- length(basquetbol)/n
jueganB
## [1] 0.2941176
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE VOLEYBOL?
jueganV <- length(voleybol)/n
jueganV
## [1] 0.1764706
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE ATLETISMO?
jueganAT <- length(atletismo)/n
jueganAT
## [1] 0.1470588
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE AJEDREZ?
jueganAJ <- length(ajedrez)/n
jueganAJ
## [1] 0.05882353
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

Conclusión

En esta práctica pudimos realizar conjuntos aleatorios de una muestra de nombres, con estos conjuntos se realizaron conjunciones, intersecciones y diferencias, observando como en los conjuntos se unen los conjuntos indicados, mostrando simplemente la unión de ambos conjuntos; en las intersecciones se muestran los sujetos que se encuentran en los conjuntos indicados para dicha intersección, es decir si un nombre se encuentra en un conjunto y también en el otro; contrario a las diferencias, que su propósito es mostrar los sujetos que se encuentran en un conjunto, pero no en el otro.
Por ultimo se trabajaron algunas preguntas sobre probabilidades aleatorias para cada conjunto