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"
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 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
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
length(sijuegan)
## [1] 26
Cuántos NO JUEGAN algíun deporte
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?
jueganfut <- length(futbol)/n
jueganfut
## [1] 0.4411765
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE BASQUETBOL?
jueganbas <- length(basquetbol)/n
jueganbas
## [1] 0.2941176
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE VOLEYBOL?
jueganvol <- length(voleybol)/n
jueganvol
## [1] 0.1764706
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE ATLETISMO?
jueganatle <- length(atletismo)/n
jueganatle
## [1] 0.1470588
¿Qué probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE AJEDREZ?
jueganaje <- length(ajedrez)/n
jueganaje
## [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 lo que se lleva a cabo es que se generan conjuntos de diferentes actividades deportivas y para esto también es necesario generar nombres para cada conjunto. Después se unen los conjuntos de las actividades deportivas con otras, se unen los elementos y se realiza una intersección de conjuntos que resuelve el dilema de quienes están en un equipo y que también están en otro. Luego se realizan las diferencias de conjuntos y esto resuelve quienes juegan un deporte y no juegan otro. Posteriormente se calcula los que no juegan nada, los que juegan algún deporte y los que no juegan algún deporte, también se sacan proporciones y porcentajes de si juegan o no juegan algún deporte. Por último se sacan algunas probabilidades y se ordenan los datos.