Generar tablas de frecuencias con un conjunto de datos de 100 registros
Crear un conjunto de datos de 100 registros con cuatro variables: nombre, genero, edad y deporte favorito de cada persona. Una vez construido el conjunto de datos elaborar tablas de frecuencias de los nombres, géneros (sexo) y deporte favorito; de igual forma determinar la tabla de frecuencia de las edades de las personas.
library(fdth)
set.seed(2022)
losnombres <- c("Daniel" , "Asuna" , "Sinon" , "Oscar" , "Eugeo", "Edgar", "Gustavo","Karla", "Ivan", "Paquito", "Coco", "Zoey Hatzel", "Norma" , "Alice", "Andrea", "Ezio" , "Bercouli", "Anilu", "Cecilia", "Yazmin", "Aayla Secura")
nombres <- sample(losnombres, 100, replace = TRUE)
generos <- sample(c("Femenino", "Masculino"), 100, replace = TRUE)
edades <- sample(15:60, 100, replace = TRUE)
losdeportes <- c("Futbol", "Beisbol" , "Tenis", "Karate", "Natacion" , "Americano" , "Rugby" , "Atletismo")
deportes <- sample(losdeportes, 100, replace = TRUE)
personal <- data.frame(nombres, generos, edades, deportes)
personal
## nombres generos edades deportes
## 1 Oscar Femenino 31 Karate
## 2 Cecilia Masculino 33 Rugby
## 3 Alice Femenino 15 Rugby
## 4 Coco Femenino 41 Rugby
## 5 Oscar Femenino 58 Americano
## 6 Edgar Femenino 28 Americano
## 7 Alice Masculino 46 Natacion
## 8 Ivan Femenino 22 Atletismo
## 9 Alice Masculino 46 Americano
## 10 Gustavo Masculino 53 Natacion
## 11 Anilu Femenino 29 Natacion
## 12 Ezio Masculino 16 Atletismo
## 13 Eugeo Femenino 52 Karate
## 14 Daniel Femenino 52 Atletismo
## 15 Cecilia Femenino 23 Karate
## 16 Daniel Masculino 56 Beisbol
## 17 Asuna Masculino 45 Rugby
## 18 Gustavo Masculino 37 Atletismo
## 19 Zoey Hatzel Femenino 25 Karate
## 20 Andrea Masculino 44 Natacion
## 21 Zoey Hatzel Femenino 32 Rugby
## 22 Edgar Masculino 24 Futbol
## 23 Gustavo Masculino 41 Beisbol
## 24 Eugeo Femenino 29 Futbol
## 25 Coco Masculino 18 Tenis
## 26 Coco Femenino 27 Rugby
## 27 Yazmin Femenino 35 Beisbol
## 28 Karla Masculino 41 Americano
## 29 Sinon Masculino 34 Natacion
## 30 Oscar Femenino 30 Atletismo
## 31 Asuna Masculino 20 Beisbol
## 32 Asuna Femenino 47 Atletismo
## 33 Karla Femenino 50 Tenis
## 34 Norma Femenino 54 Tenis
## 35 Paquito Femenino 28 Rugby
## 36 Gustavo Masculino 31 Rugby
## 37 Daniel Masculino 44 Beisbol
## 38 Cecilia Femenino 55 Tenis
## 39 Daniel Masculino 27 Natacion
## 40 Cecilia Masculino 52 Futbol
## 41 Aayla Secura Masculino 24 Tenis
## 42 Anilu Masculino 42 Tenis
## 43 Ivan Femenino 30 Futbol
## 44 Ivan Masculino 30 Rugby
## 45 Sinon Femenino 49 Futbol
## 46 Yazmin Femenino 51 Beisbol
## 47 Paquito Femenino 40 Tenis
## 48 Daniel Femenino 24 Americano
## 49 Sinon Masculino 17 Atletismo
## 50 Yazmin Femenino 16 Futbol
## 51 Ezio Femenino 15 Rugby
## 52 Zoey Hatzel Femenino 60 Rugby
## 53 Eugeo Femenino 37 Futbol
## 54 Ezio Masculino 59 Tenis
## 55 Paquito Femenino 43 Tenis
## 56 Cecilia Masculino 28 Futbol
## 57 Asuna Femenino 58 Atletismo
## 58 Bercouli Femenino 45 Futbol
## 59 Zoey Hatzel Femenino 30 Karate
## 60 Andrea Femenino 42 Tenis
## 61 Anilu Femenino 43 Atletismo
## 62 Eugeo Masculino 57 Atletismo
## 63 Norma Femenino 49 Americano
## 64 Alice Masculino 51 Natacion
## 65 Edgar Femenino 50 Rugby
## 66 Daniel Masculino 56 Futbol
## 67 Paquito Masculino 28 Rugby
## 68 Karla Femenino 32 Atletismo
## 69 Karla Masculino 21 Tenis
## 70 Andrea Masculino 34 Rugby
## 71 Daniel Femenino 56 Tenis
## 72 Zoey Hatzel Masculino 47 Tenis
## 73 Alice Masculino 22 Tenis
## 74 Coco Femenino 53 Americano
## 75 Ivan Masculino 24 Beisbol
## 76 Sinon Masculino 56 Karate
## 77 Sinon Femenino 45 Americano
## 78 Yazmin Femenino 39 Futbol
## 79 Sinon Femenino 53 Natacion
## 80 Andrea Femenino 23 Tenis
## 81 Edgar Femenino 22 Tenis
## 82 Zoey Hatzel Masculino 20 Karate
## 83 Ezio Masculino 15 Beisbol
## 84 Asuna Femenino 53 Beisbol
## 85 Aayla Secura Masculino 32 Atletismo
## 86 Bercouli Femenino 46 Beisbol
## 87 Karla Femenino 46 Americano
## 88 Ezio Masculino 38 Futbol
## 89 Bercouli Femenino 20 Atletismo
## 90 Ezio Masculino 39 Rugby
## 91 Anilu Masculino 30 Karate
## 92 Aayla Secura Masculino 53 Beisbol
## 93 Andrea Femenino 22 Atletismo
## 94 Daniel Femenino 17 Futbol
## 95 Anilu Femenino 35 Americano
## 96 Aayla Secura Femenino 30 Rugby
## 97 Karla Femenino 53 Atletismo
## 98 Bercouli Femenino 56 Rugby
## 99 Norma Masculino 53 Natacion
## 100 Ivan Femenino 57 Futbol
N <- nrow(personal)
N
## [1] 100
tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <- c("Nombres", "Frecuencia.Abso")
tabla_frec.nombres
## Nombres Frecuencia.Abso
## 1 Aayla Secura 4
## 2 Alice 5
## 3 Andrea 5
## 4 Anilu 5
## 5 Asuna 5
## 6 Bercouli 4
## 7 Cecilia 5
## 8 Coco 4
## 9 Daniel 8
## 10 Edgar 4
## 11 Eugeo 4
## 12 Ezio 6
## 13 Gustavo 4
## 14 Ivan 5
## 15 Karla 6
## 16 Norma 3
## 17 Oscar 3
## 18 Paquito 4
## 19 Sinon 6
## 20 Yazmin 4
## 21 Zoey Hatzel 6
Freq.relativa <- tabla_frec.nombres$Frecuencia / N
Freq.relativa
## [1] 0.04 0.05 0.05 0.05 0.05 0.04 0.05 0.04 0.08 0.04 0.04 0.06 0.04 0.05 0.06
## [16] 0.03 0.03 0.04 0.06 0.04 0.06
Freq.Porcentual <- Freq.relativa * 100
Freq.Porcentual
## [1] 4 5 5 5 5 4 5 4 8 4 4 6 4 5 6 3 3 4 6 4 6
tabla_frec.nombres <- cbind(tabla_frec.nombres, Freq.relativa, Freq.Porcentual)
tabla_frec.nombres
## Nombres Frecuencia.Abso Freq.relativa Freq.Porcentual
## 1 Aayla Secura 4 0.04 4
## 2 Alice 5 0.05 5
## 3 Andrea 5 0.05 5
## 4 Anilu 5 0.05 5
## 5 Asuna 5 0.05 5
## 6 Bercouli 4 0.04 4
## 7 Cecilia 5 0.05 5
## 8 Coco 4 0.04 4
## 9 Daniel 8 0.08 8
## 10 Edgar 4 0.04 4
## 11 Eugeo 4 0.04 4
## 12 Ezio 6 0.06 6
## 13 Gustavo 4 0.04 4
## 14 Ivan 5 0.05 5
## 15 Karla 6 0.06 6
## 16 Norma 3 0.03 3
## 17 Oscar 3 0.03 3
## 18 Paquito 4 0.04 4
## 19 Sinon 6 0.06 6
## 20 Yazmin 4 0.04 4
## 21 Zoey Hatzel 6 0.06 6
tabla_frec.nombres.2 <- data.frame(fdt_cat(personal$nombres))
names(tabla_frec.nombres.2) <- c("nombres", "Freq Abso.", "Freq Rela.", "Freq Porce.", "Freq Acum.", "Freq Porce.Acum")
tabla_frec.nombres.2
## nombres Freq Abso. Freq Rela. Freq Porce. Freq Acum. Freq Porce.Acum
## 1 Daniel 8 0.08 8 8 8
## 2 Ezio 6 0.06 6 14 14
## 3 Karla 6 0.06 6 20 20
## 4 Sinon 6 0.06 6 26 26
## 5 Zoey Hatzel 6 0.06 6 32 32
## 6 Alice 5 0.05 5 37 37
## 7 Andrea 5 0.05 5 42 42
## 8 Anilu 5 0.05 5 47 47
## 9 Asuna 5 0.05 5 52 52
## 10 Cecilia 5 0.05 5 57 57
## 11 Ivan 5 0.05 5 62 62
## 12 Aayla Secura 4 0.04 4 66 66
## 13 Bercouli 4 0.04 4 70 70
## 14 Coco 4 0.04 4 74 74
## 15 Edgar 4 0.04 4 78 78
## 16 Eugeo 4 0.04 4 82 82
## 17 Gustavo 4 0.04 4 86 86
## 18 Paquito 4 0.04 4 90 90
## 19 Yazmin 4 0.04 4 94 94
## 20 Norma 3 0.03 3 97 97
## 21 Oscar 3 0.03 3 100 100
barplot(height = tabla_frec.nombres$Frecuencia, names.arg = tabla_frec.nombres.2$nombres)
hist(personal$edades, main = "Frecuencia de edades", xlab = "Edades", ylab = "Frecuencias")
tabla.frec.edades <- data.frame(transform(table(personal$edades)))
names(tabla.frec.edades) <- c("edades", "Frecuencia")
barplot(height = tabla.frec.edades$Frecuencia, names.arg = tabla.frec.edades$edades,main = "Frecuencias de Edades",xlab = "Edades", ylab = "Frecuencias")
tabla.frec.edades_2 <- fdt(personal$edades)
tabla.frec.edades_2 <- data.frame(tabla.frec.edades_2$table)
names(tabla.frec.edades_2) <- c('clases', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acumu')
tabla.frec.edades_2
## clases Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 [14.85,20.57) 11 0.11 11 11
## 2 [20.57,26.29) 12 0.12 12 23
## 3 [26.29,32.01) 19 0.19 19 42
## 4 [32.01,37.73) 7 0.07 7 49
## 5 [37.73,43.44) 11 0.11 11 60
## 6 [43.44,49.16) 13 0.13 13 73
## 7 [49.16,54.88) 15 0.15 15 88
## 8 [54.88,60.6) 12 0.12 12 100
## Frecuencia.Porce.Acumu
## 1 11
## 2 23
## 3 42
## 4 49
## 5 60
## 6 73
## 7 88
## 8 100
barplot(height = tabla.frec.edades_2$Frecuencia,
names.arg = tabla.frec.edades_2$clases,
main = "Frecuencias de Clases",
xlab = "Clases de edades", ylab = "Frecuencias")
tabla_frec.genero <- data.frame(fdt_cat(personal$generos))
names(tabla_frec.genero) <- c('generos', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acum')
tabla_frec.genero
## generos Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 Femenino 57 0.57 57 57
## 2 Masculino 43 0.43 43 100
## Frecuencia.Porce.Acum
## 1 57
## 2 100
barplot(height = tabla_frec.genero$Frecuencia,
names.arg = tabla_frec.genero$generos,
main = "Frecuencias de Géneros",
xlab = "Géneros", ylab = "Frecuencias")
pie(x = tabla_frec.genero$Frecuencia,
labels = tabla_frec.genero$generos,
col = c(120,100))
tabla_frec.deporte <- data.frame(fdt_cat(personal$deportes))
names(tabla_frec.deporte) <- c('deportes', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acum')
tabla_frec.deporte
## deportes Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 Rugby 17 0.17 17 17
## 2 Tenis 16 0.16 16 33
## 3 Atletismo 15 0.15 15 48
## 4 Futbol 14 0.14 14 62
## 5 Beisbol 11 0.11 11 73
## 6 Americano 10 0.10 10 83
## 7 Natacion 9 0.09 9 92
## 8 Karate 8 0.08 8 100
## Frecuencia.Porce.Acum
## 1 17
## 2 33
## 3 48
## 4 62
## 5 73
## 6 83
## 7 92
## 8 100
barplot(height = tabla_frec.deporte$Frecuencia,
names.arg = tabla_frec.deporte$deportes,
main = "Frecuencias de deportes",
xlab = "Deportes", ylab = "Frecuencias")
pie(x = tabla_frec.deporte$Frecuencia,
labels = tabla_frec.deporte$deportes,
col = rainbow(length(tabla_frec.deporte$deportes)))
En el caso 2, se generaron los datos aleatoriamente y cuantos datos quieres que se generen y lo que se genero aleatoriamente fue el (Nombre, Edad y el sexo) tambien se aprendio a crear tablas y algunas grafica de pastel.
En la grafica de deportes se puede observar que la que predomina en el primer puesto es el Rugby despues tenis y asi.
En la grafica de barras y en la de pastel se puede ver claramente que las mujeres dominan en genero.
y en edades las que dominan son la gente entre (25 y 30) a