Conjuntos en R
De una poblacion de 34 nombres se asignan aleatoriamente participantes que jugaran en alguna dicsiplina deportiva.
puede concidir que los nombres se encuentren en mas de una dicsiplina deportiva
Se realizan operaciones de conjuntos union, interseccion y diferencia
Se integran un conjunto de datos con valores TRUE or FALSE para cada nombre y cada dicsiplia 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"
Numeros de elementos o poblacion total
n <- length(nombres)
n
## [1] 34
Semilla para aleatoriedad en 100 para que se generen los mismos equipos
set.seed(100)
Generando Participantes en equipos deportivios
Generamos 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"
Union de conjuntos
Los elementos que estan en un conjunto agregando los que estan en el otro conjunto
union(futbol,basquetbol)#los que juegan u uno o 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 union de Conjuntos
union(basquetbol,voleybol)
## [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"
Interseccion de Conjuntos
Resuelve el dilema de quienes estan en un equipo y que tambien estan en otro
intersect(futbol, basquetbol)#los que juegann y que tammbien 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)
## character(0)
intersect(voleybol,basquetbol)
## [1] "Carmen" "Paty"
intersect(basquetbol,atletismo)
## [1] "Antonio"
intersect(ajedrez,atletismo)
## character(0)
Diferencia de conjuntos
Resuelve quienes uegan un depote
setdiff(futbol, basquetbol)
## [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 si juegan para j¿hacerlo mas entendible y mas practico
#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))
nojuegannada
## [1] "Ana" "Eduardo" "Javier" "Laura" "Luis" "Lupita" "Patricia"
## [8] "Saul"
Cuantos SI JUEGAN algun deporte
Cuantos NO JUEGAN algun deporte
length(sijuegan)
## [1] 26
length(nojuegannada)
## [1] 8
Sacando Proporciones y Porcentajes
Que porcentaje SI JUEGA ALGO Y QUE porcentaje a NO JUEGA algun deporte
Notas:
Para cuestiones de calculos nos interesa usal las proporciones
Para efectos de visualizacion de los resultados bastaria con porcentajes de redondeo
prop.SIJUEGA<- length(sijuegan)/n
prop.SIJUEGA
## [1] 0.7647059
#en porcentaje
prop.SIJUEGA*100
## [1] 76.47059
#redondeado
round(prop.SIJUEGA*100)
## [1] 76
prop.NOJUEGA <- length(nojuegannada)/n
prop.NOJUEGA
## [1] 0.2352941
#en porcentaje
prop.NOJUEGA*100
## [1] 23.52941
#redondeado
round(prop.NOJUEGA*100)
## [1] 24
PROBABILIDADES
¿Que probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE ALGUN DEPORTE?
¿Que probabilidad existe de elejir ALEATORIAMENTE a un nombre y NO JUEGUE ALGUN DEPORTE?
prop.SIJUEGA
## [1] 0.7647059
prop.NOJUEGA
## [1] 0.2352941
¿Que probabilidad existe de elejir ALEATORIAMENTE a un nombre y JUEGUE FUTBOL?
¿Que probabilidad existe de elegir ALEATORIAMENTE a un nombre y JUEGUE BASQUETBOL?
¿Que probabilidad existe de elegir ALEATORIAMENTE a un nombre y JUEGUE VOLEYBOL?
¿Que probabilidad existe de elegir ALEATORIAMENTE a un nombre y JUEGUE ATLETISMO?
¿Que probabilidad existe de elegir ALEATORIAMENTE a un nombre y JUEGUE AJEDREZ?
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
como un punto de partida y haciendo una reflexión sobre los conocimientos adquiridos pues podemos tomar como punto de partida, los aspectos que se manejan en cada practica en esta se manejan los aspectos de probabilidades así el cómo manejar ese tipo de información y darle el uso adecuado como por ejemplo resolver alguna situación que se te pida como en alguna etapa en la que se maneje algún tipo de dato especifico como en el caso de la practica el escoger un nombre aleatorio y mostrar el dato que se está pidiendo que en este caso es el nombre de una persona que practique dicha actividad dejando eso de laso el conocimiento esencial que nos deja la práctica es como poder encontrar de una mejor manera tanto más practica y eficiente así como más entretenida tambien sin dejar de lado el hecho de que tambien nos muestran el como formar un conjunto lo cual te brinda una cantidad de conocimiento aun mayor