-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"
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 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"
¿qué 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"
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 hay
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 algun 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) # redondeado
## [1] 24
round(propor.NOJUEGA * 100)
## [1] 24
Probabilidades..
¿Qué probabilidad existe de elejir ALEATORIAEMNTE a un nombre y JUEGUE ALGÚN DEPORTE?
¿Qué probabilidad existe de elejir ALEATORIAEMNTE a un nombre y NO 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 nueva practica de conjuntos es de una población de 34 nombres que se asginan aleatoriamente (participantes que jugarán en alguna disciplina deportiva). Se realizan operaciones de conjuntos union, intersección y diferencia.
Generamos los nombres de la población,despues fuimos generando conjuntos en las diferentes actividades deportivas tales como: voleybol, futbol, basquetbol, ajedrez y atletismo y con ello visualizamos los integrantes de cada equipo.
Generamos unión entre las diferentes actividades deportivas, de dos en dos, ejemplo futbol y baquetbol etc.
La interseccion de conjuntos resuelve el dilema de quienes están en un un equipo y que también están en otro. Esto sirve para tener un concenso sobre información más especifica de cada uno en donde se repite.
La diferencia de conjuntos resuelve quienes juegan un deporte y no juegan otro. Nos sirve para ver con más claridad quienes solo juegan un deporte. A diferencia de la interseccion.
Se visualiza despues quienes si juegan y quienes no. Despues sacamos proporciones y porcentajes de lo mencionado anteriormente.
Por ultimo se muestra una tabla de true o false (data frame) sobre quienes juegan o no en algun deporte. Se visualiza una informacion más resumida de todo esto anteriormente. Es más facil de manipular.
FIN :)