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 (género de sexo), 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)
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
set.seed(2020)
losnombres <- c("URIEL", 'ALONSO', 'ARNULFO', 'SERGIO', 'MARCOS',
"JESSICA", 'SAHORY', 'ULISES', 'ALAN', 'YENNI', 'BERENICE', 'MARIANA', 'ANA', 'OCTAVIO', 'CLAUDIA', 'RUBEN', 'VICTOR', 'CINDY', 'ANELICE', 'FABIOLA')
nombres <- sample(losnombres, 100, replace = TRUE)
# nombres
generos <- sample(c('Femenino', 'Masculino'), 100, replace = TRUE)
edades <- sample(15:60, 100, replace = TRUE)
misdeportes <- c("TIRO", 'VOLEIBOL', 'FUTBOL', 'BASQUETBOL', 'CICLISMO',
'NATACION', 'KARATE', 'BEISBOL', 'FUTBOL AMERICANO', 'BOX')
deportes <- sample(misdeportes, 100, replace = TRUE)
personal <- data.frame(nombres, generos, edades, deportes)
personal
## nombres generos edades deportes
## 1 MARIANA Femenino 15 KARATE
## 2 URIEL Masculino 53 NATACION
## 3 VICTOR Femenino 58 TIRO
## 4 SERGIO Femenino 58 NATACION
## 5 YENNI Femenino 36 FUTBOL AMERICANO
## 6 JESSICA Masculino 26 VOLEIBOL
## 7 VICTOR Masculino 26 KARATE
## 8 ANA Masculino 24 KARATE
## 9 ULISES Femenino 27 BOX
## 10 YENNI Masculino 41 NATACION
## 11 CINDY Femenino 59 NATACION
## 12 RUBEN Masculino 56 BOX
## 13 ALONSO Masculino 55 BASQUETBOL
## 14 RUBEN Masculino 58 KARATE
## 15 ARNULFO Masculino 43 BOX
## 16 ALONSO Masculino 39 BOX
## 17 ULISES Femenino 33 BASQUETBOL
## 18 SERGIO Femenino 16 FUTBOL
## 19 CINDY Femenino 58 BOX
## 20 OCTAVIO Masculino 18 VOLEIBOL
## 21 OCTAVIO Femenino 25 KARATE
## 22 MARIANA Femenino 33 BASQUETBOL
## 23 RUBEN Femenino 43 KARATE
## 24 CLAUDIA Femenino 55 VOLEIBOL
## 25 OCTAVIO Femenino 16 KARATE
## 26 SAHORY Femenino 34 BEISBOL
## 27 FABIOLA Femenino 21 KARATE
## 28 CINDY Masculino 22 VOLEIBOL
## 29 FABIOLA Masculino 28 BEISBOL
## 30 FABIOLA Femenino 58 BASQUETBOL
## 31 RUBEN Masculino 39 FUTBOL AMERICANO
## 32 MARIANA Femenino 50 BOX
## 33 CINDY Masculino 37 TIRO
## 34 YENNI Femenino 24 FUTBOL
## 35 JESSICA Femenino 27 NATACION
## 36 CLAUDIA Masculino 41 CICLISMO
## 37 BERENICE Femenino 49 NATACION
## 38 ANA Femenino 41 BEISBOL
## 39 ANA Femenino 41 FUTBOL
## 40 ANA Masculino 34 BEISBOL
## 41 ALONSO Femenino 37 CICLISMO
## 42 RUBEN Femenino 21 FUTBOL
## 43 ANA Femenino 42 CICLISMO
## 44 URIEL Femenino 19 NATACION
## 45 JESSICA Masculino 41 CICLISMO
## 46 ARNULFO Masculino 53 BEISBOL
## 47 ANA Femenino 36 NATACION
## 48 BERENICE Masculino 35 FUTBOL AMERICANO
## 49 MARCOS Femenino 39 BASQUETBOL
## 50 BERENICE Femenino 59 NATACION
## 51 JESSICA Femenino 40 FUTBOL
## 52 ALONSO Masculino 30 FUTBOL
## 53 ARNULFO Masculino 33 NATACION
## 54 CINDY Femenino 46 KARATE
## 55 URIEL Femenino 40 FUTBOL AMERICANO
## 56 SAHORY Masculino 56 CICLISMO
## 57 ULISES Masculino 50 BOX
## 58 ANA Masculino 50 TIRO
## 59 ALONSO Femenino 23 VOLEIBOL
## 60 MARCOS Femenino 42 VOLEIBOL
## 61 SERGIO Masculino 15 CICLISMO
## 62 ANELICE Masculino 59 BEISBOL
## 63 RUBEN Femenino 56 FUTBOL
## 64 SERGIO Femenino 48 BEISBOL
## 65 FABIOLA Masculino 59 CICLISMO
## 66 CINDY Masculino 20 CICLISMO
## 67 YENNI Femenino 55 CICLISMO
## 68 URIEL Femenino 38 CICLISMO
## 69 CLAUDIA Masculino 17 TIRO
## 70 ALAN Masculino 40 CICLISMO
## 71 RUBEN Masculino 52 BOX
## 72 JESSICA Masculino 48 NATACION
## 73 YENNI Masculino 48 FUTBOL
## 74 URIEL Femenino 18 NATACION
## 75 URIEL Masculino 54 TIRO
## 76 VICTOR Femenino 23 BEISBOL
## 77 ULISES Femenino 57 KARATE
## 78 CLAUDIA Masculino 24 FUTBOL
## 79 MARIANA Femenino 57 BOX
## 80 CINDY Femenino 56 BASQUETBOL
## 81 ANA Femenino 26 BASQUETBOL
## 82 MARCOS Masculino 55 FUTBOL
## 83 RUBEN Femenino 44 BASQUETBOL
## 84 FABIOLA Masculino 46 TIRO
## 85 FABIOLA Femenino 45 TIRO
## 86 FABIOLA Femenino 52 KARATE
## 87 OCTAVIO Masculino 41 BEISBOL
## 88 ANA Femenino 25 BASQUETBOL
## 89 VICTOR Femenino 46 CICLISMO
## 90 ANA Femenino 16 FUTBOL
## 91 SAHORY Masculino 25 FUTBOL AMERICANO
## 92 ALAN Femenino 15 BASQUETBOL
## 93 ULISES Masculino 28 FUTBOL
## 94 ARNULFO Femenino 21 BOX
## 95 ARNULFO Masculino 33 FUTBOL
## 96 ALONSO Femenino 20 CICLISMO
## 97 ANA Masculino 44 FUTBOL
## 98 ULISES Masculino 31 FUTBOL
## 99 SERGIO Masculino 59 CICLISMO
## 100 SAHORY Femenino 24 FUTBOL
#table(personal$nombres)
#transform(table(personal$nombres))
tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <- c('nombres', 'freq')
tabla_frec.nombres
## nombres freq
## 1 ALAN 2
## 2 ALONSO 6
## 3 ANA 11
## 4 ANELICE 1
## 5 ARNULFO 5
## 6 BERENICE 3
## 7 CINDY 7
## 8 CLAUDIA 4
## 9 FABIOLA 7
## 10 JESSICA 5
## 11 MARCOS 3
## 12 MARIANA 4
## 13 OCTAVIO 4
## 14 RUBEN 8
## 15 SAHORY 4
## 16 SERGIO 5
## 17 ULISES 6
## 18 URIEL 6
## 19 VICTOR 4
## 20 YENNI 5
N <- nrow(personal)
N
## [1] 100
freq.r <- tabla_frec.nombres$freq / N
freq.r
## [1] 0.02 0.06 0.11 0.01 0.05 0.03 0.07 0.04 0.07 0.05 0.03 0.04 0.04 0.08 0.04
## [16] 0.05 0.06 0.06 0.04 0.05
freq.p <- freq.r * 100
freq.p
## [1] 2 6 11 1 5 3 7 4 7 5 3 4 4 8 4 5 6 6 4 5
tabla_frec.nombres <- cbind(tabla_frec.nombres, freq.r, freq.p)
tabla_frec.nombres
## nombres freq freq.r freq.p
## 1 ALAN 2 0.02 2
## 2 ALONSO 6 0.06 6
## 3 ANA 11 0.11 11
## 4 ANELICE 1 0.01 1
## 5 ARNULFO 5 0.05 5
## 6 BERENICE 3 0.03 3
## 7 CINDY 7 0.07 7
## 8 CLAUDIA 4 0.04 4
## 9 FABIOLA 7 0.07 7
## 10 JESSICA 5 0.05 5
## 11 MARCOS 3 0.03 3
## 12 MARIANA 4 0.04 4
## 13 OCTAVIO 4 0.04 4
## 14 RUBEN 8 0.08 8
## 15 SAHORY 4 0.04 4
## 16 SERGIO 5 0.05 5
## 17 ULISES 6 0.06 6
## 18 URIEL 6 0.06 6
## 19 VICTOR 4 0.04 4
## 20 YENNI 5 0.05 5
tabla_frec.nombres.2 <- data.frame(fdt_cat(personal$nombres))
names(tabla_frec.nombres.2) <- c('nombres', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.nombres.2
## nombres freq freq.r freq.p freq.acum frec.por.acum
## 1 ANA 11 0.11 11 11 11
## 2 RUBEN 8 0.08 8 19 19
## 3 CINDY 7 0.07 7 26 26
## 4 FABIOLA 7 0.07 7 33 33
## 5 ALONSO 6 0.06 6 39 39
## 6 ULISES 6 0.06 6 45 45
## 7 URIEL 6 0.06 6 51 51
## 8 ARNULFO 5 0.05 5 56 56
## 9 JESSICA 5 0.05 5 61 61
## 10 SERGIO 5 0.05 5 66 66
## 11 YENNI 5 0.05 5 71 71
## 12 CLAUDIA 4 0.04 4 75 75
## 13 MARIANA 4 0.04 4 79 79
## 14 OCTAVIO 4 0.04 4 83 83
## 15 SAHORY 4 0.04 4 87 87
## 16 VICTOR 4 0.04 4 91 91
## 17 BERENICE 3 0.03 3 94 94
## 18 MARCOS 3 0.03 3 97 97
## 19 ALAN 2 0.02 2 99 99
## 20 ANELICE 1 0.01 1 100 100
barplot(height = tabla_frec.nombres.2$freq, 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)))
# tabla.frecuencias.edades
names(tabla.frec.edades) <- c("edades", "freq")
tabla.frec.edades
## edades freq
## 1 15 3
## 2 16 3
## 3 17 1
## 4 18 2
## 5 19 1
## 6 20 2
## 7 21 3
## 8 22 1
## 9 23 2
## 10 24 4
## 11 25 3
## 12 26 3
## 13 27 2
## 14 28 2
## 15 30 1
## 16 31 1
## 17 33 4
## 18 34 2
## 19 35 1
## 20 36 2
## 21 37 2
## 22 38 1
## 23 39 3
## 24 40 3
## 25 41 6
## 26 42 2
## 27 43 2
## 28 44 2
## 29 45 1
## 30 46 3
## 31 48 3
## 32 49 1
## 33 50 3
## 34 52 2
## 35 53 2
## 36 54 1
## 37 55 4
## 38 56 4
## 39 57 2
## 40 58 5
## 41 59 5
barplot(height = tabla.frec.edades$freq,
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', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla.frec.edades_2
## clases freq freq.r freq.p freq.acum frec.por.acum
## 1 [14.85,20.442) 12 0.12 12 12 12
## 2 [20.442,26.035) 16 0.16 16 28 28
## 3 [26.035,31.627) 6 0.06 6 34 34
## 4 [31.627,37.22) 11 0.11 11 45 45
## 5 [37.22,42.812) 15 0.15 15 60 60
## 6 [42.812,48.405) 11 0.11 11 71 71
## 7 [48.405,53.998) 8 0.08 8 79 79
## 8 [53.998,59.59) 21 0.21 21 100 100
barplot(height = tabla.frec.edades_2$freq,
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', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.genero
## generos freq freq.r freq.p freq.acum frec.por.acum
## 1 Femenino 55 0.55 55 55 55
## 2 Masculino 45 0.45 45 100 100
barplot(height = tabla_frec.genero$freq,
names.arg = tabla_frec.genero$generos,
main = "Frecuencias de Géneros",
xlab = "Géneros", ylab = "Frecuencias")
pie(x = tabla_frec.genero$freq,
labels = tabla_frec.genero$generos,
col = c(155,100))
tabla_frec.deporte <- data.frame(fdt_cat(personal$deportes))
names(tabla_frec.deporte) <- c('deportes', 'freq', 'freq.r', 'freq.p', 'freq.acum', 'frec.por.acum')
tabla_frec.deporte
## deportes freq freq.r freq.p freq.acum frec.por.acum
## 1 FUTBOL 16 0.16 16 16 16
## 2 CICLISMO 14 0.14 14 30 30
## 3 NATACION 12 0.12 12 42 42
## 4 KARATE 11 0.11 11 53 53
## 5 BASQUETBOL 10 0.10 10 63 63
## 6 BOX 10 0.10 10 73 73
## 7 BEISBOL 9 0.09 9 82 82
## 8 TIRO 7 0.07 7 89 89
## 9 VOLEIBOL 6 0.06 6 95 95
## 10 FUTBOL AMERICANO 5 0.05 5 100 100
barplot(height = tabla_frec.deporte$freq,
names.arg = tabla_frec.deporte$deportes,
main = "Frecuencias de deportes",
xlab = "Deportes", ylab = "Frecuencias")
Va una descripción libre, generar ideas de los puntos