#Conjuntos en R 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 integran un conjuto de datos con valores TRUE or FALSE para cada nombre y cada disciplina deportiva #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 elementos o población total

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

Semilla para aleatoriadad en 100 para que se generen 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 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"
atletismo
## [1] "Antonio" "Ernesto" "Juan"    "Luisa"   "Maria"
voleybol
## [1] "Carmen"   "Gabino"   "Memo"     "Paty"     "Romualdo" "Sandro"
ajedrez
## [1] "Rubén"    "Salvador"

Unión de Conjuntos Los elementos 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 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 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 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

#¿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?

futbol <- sort(sample(nombres, 15))
propor.JUEGAFUT <- length(futbol) / n
propor.JUEGAFUT
## [1] 0.4411765

#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE BASQUETBOL?

propor.JUEGABASQUET <- length(basquetbol) / n
propor.JUEGABASQUET
## [1] 0.2941176

#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE VOLEYBOL?

propor.JUEGAVOLEY <- length(voleybol) / n
propor.JUEGAVOLEY
## [1] 0.1764706

#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE ATLETISMO?

propor.JUEGAATLETISMO <- length(atletismo) / n
propor.JUEGAATLETISMO
## [1] 0.1470588

#¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE AJEDREZ?

propor.JUEGAAJEDREZ <- length(ajedrez) / n
propor.JUEGAAJEDREZ
## [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   TRUE      FALSE    FALSE     FALSE   FALSE
## 2    Antonio  FALSE       TRUE    FALSE      TRUE   FALSE
## 3    Aracely  FALSE       TRUE    FALSE     FALSE   FALSE
## 4     Carmen  FALSE       TRUE     TRUE     FALSE   FALSE
## 5    Eduardo  FALSE      FALSE    FALSE     FALSE   FALSE
## 6    Ernesto  FALSE      FALSE    FALSE      TRUE   FALSE
## 7     Gabino   TRUE      FALSE     TRUE     FALSE   FALSE
## 8    Gerardo  FALSE       TRUE    FALSE     FALSE   FALSE
## 9     Javier   TRUE      FALSE    FALSE     FALSE   FALSE
## 10  Jeorgina  FALSE      FALSE    FALSE     FALSE   FALSE
## 11      Juan   TRUE      FALSE    FALSE      TRUE   FALSE
## 12      Lalo  FALSE       TRUE    FALSE     FALSE   FALSE
## 13     Laura  FALSE      FALSE    FALSE     FALSE   FALSE
## 14      Lucy  FALSE      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   TRUE      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   TRUE      FALSE    FALSE     FALSE    TRUE
## 31    Sandra   TRUE       TRUE    FALSE     FALSE   FALSE
## 32    Sandro  FALSE      FALSE     TRUE     FALSE   FALSE
## 33      Saul   TRUE      FALSE    FALSE     FALSE   FALSE
## 34      Yuri  FALSE       TRUE    FALSE     FALSE   FALSE

Comentario En esta practiva se realizo un analisis sobre las supuestas actividades realizadas por un grupo de personas, al cual se le realizaron diferentes calculos y filtros, como los son: Filtrar por cada uno de los deportes (basquetbol, ajedrez, futbol, voleybol, atletismo)