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")
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 <- length(nombres)
n
## [1] 34
set.seed(100)
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))
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(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"
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"
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"
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)
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"
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"
# Reutilizamos los que si juegan
sijuegan <- jueganfbvaj
# Reutilizamos los que si juegan
nojuegannada<- 11
length(sijuegan)
## [1] 26
nojuegannada
## [1] 11
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.02941176
# En porcentaje
propor.NOJUEGA * 100
## [1] 2.941176
# redondeado
round(propor.NOJUEGA * 100)
## [1] 3
¿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.02941176
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE FUTBOL?
propor.futbol<- length(futbol)/n
propor.futbol
## [1] 0.4411765
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE BASQUETBOL?
propor.basquetbol<- length(basquetbol)/n
propor.basquetbol
## [1] 0.2941176
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE VOLEYBOL?
propor.voleybol<- length(voleybol)/n
propor.voleybol
## [1] 0.1764706
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE ATLETISMO?
propor.atletismo<- length(atletismo)/n
propor.atletismo
## [1] 0.1470588
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE AJEDREZ?
propor.ajedrez<- length(ajedrez)/n
propor.ajedrez
## [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
En esta práctica se puede apreciar la diferencia entre una intersección y una unión, viendo como hay personas que juegan una sola cosa que juegan dos cosas o que inclusive no juegan nada y estas últimas, a pesar de que no estarían dentro de un diagrama de ven, siguen siendo parte del conjunto universo y se deben de tomar en cuenta para hacer cálculos, como, por ejemplo, la probabilidad de que x o y alumno salga de manera aleatoria.
Esto refleja nuestra vida cotidiana, ya que así como existe un 67% de posibilidad de tomar un nombre y que este sea de un alumno que juega algún deporte, algo similar pasaría si li hacemos en nuestro salón de clases.