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