Caso 3. Tablas de Frecuencias
Objetivo
Generar tablas de frecuencias con un conjunto de datos de 100 registros
1. Cargar librerÃas fdth
library(fdth)
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
2. Crear conjunto de datos llamado personas
set.seed(2020)
-Crear 100 nombres a partir de 20 nombres
-Crear aleatorio el género entre Femenino y Masculino
-Crear la edad aletorio entre 15 y 60
-Crear el deporte favorito de cada persona aleatorio entre 10
listanombres <- c("ARTURO", 'FELIPE', 'OMAR', 'EDUARDO', 'ISMAEL',
"PATRICIA", 'ALICIA', 'EDGAR', 'LEONARDO', 'SOFIA', 'LETICIA', 'NATALIA', 'JAZMIN', 'ERNESTO', 'SAHARA', 'MANUEL', 'JESUS', 'MARIBEL', 'ROSARIO', 'DANIELA')
nombres <- sample(listanombres, 100, replace = TRUE)
generos <- sample(c('Femenino', 'Masculino'), 100, replace = TRUE)
edades <- sample(15:60, 100, replace = TRUE)
listadeportes <- c("FUTBOL", 'BASEBALL', 'CICLISMO', 'BASQUETBOL', 'ATLETISMO',
'NATACION', 'VOLEIBOL', 'BEISBOL', 'FUTBOL AMERICANO', 'RUGBY')
deportes <- sample(listadeportes, 100, replace = TRUE)
datos <- data.frame(nombres, generos, edades, deportes)
datos
## nombres generos edades deportes
## 1 NATALIA Femenino 15 VOLEIBOL
## 2 ARTURO Masculino 53 NATACION
## 3 JESUS Femenino 58 FUTBOL
## 4 EDUARDO Femenino 58 NATACION
## 5 SOFIA Femenino 36 FUTBOL AMERICANO
## 6 PATRICIA Masculino 26 BASEBALL
## 7 JESUS Masculino 26 VOLEIBOL
## 8 JAZMIN Masculino 24 VOLEIBOL
## 9 EDGAR Femenino 27 RUGBY
## 10 SOFIA Masculino 41 NATACION
## 11 MARIBEL Femenino 59 NATACION
## 12 MANUEL Masculino 56 RUGBY
## 13 FELIPE Masculino 55 BASQUETBOL
## 14 MANUEL Masculino 58 VOLEIBOL
## 15 OMAR Masculino 43 RUGBY
## 16 FELIPE Masculino 39 RUGBY
## 17 EDGAR Femenino 33 BASQUETBOL
## 18 EDUARDO Femenino 16 CICLISMO
## 19 MARIBEL Femenino 58 RUGBY
## 20 ERNESTO Masculino 18 BASEBALL
## 21 ERNESTO Femenino 25 VOLEIBOL
## 22 NATALIA Femenino 33 BASQUETBOL
## 23 MANUEL Femenino 43 VOLEIBOL
## 24 SAHARA Femenino 55 BASEBALL
## 25 ERNESTO Femenino 16 VOLEIBOL
## 26 ALICIA Femenino 34 BEISBOL
## 27 DANIELA Femenino 21 VOLEIBOL
## 28 MARIBEL Masculino 22 BASEBALL
## 29 DANIELA Masculino 28 BEISBOL
## 30 DANIELA Femenino 58 BASQUETBOL
## 31 MANUEL Masculino 39 FUTBOL AMERICANO
## 32 NATALIA Femenino 50 RUGBY
## 33 MARIBEL Masculino 37 FUTBOL
## 34 SOFIA Femenino 24 CICLISMO
## 35 PATRICIA Femenino 27 NATACION
## 36 SAHARA Masculino 41 ATLETISMO
## 37 LETICIA Femenino 49 NATACION
## 38 JAZMIN Femenino 41 BEISBOL
## 39 JAZMIN Femenino 41 CICLISMO
## 40 JAZMIN Masculino 34 BEISBOL
## 41 FELIPE Femenino 37 ATLETISMO
## 42 MANUEL Femenino 21 CICLISMO
## 43 JAZMIN Femenino 42 ATLETISMO
## 44 ARTURO Femenino 19 NATACION
## 45 PATRICIA Masculino 41 ATLETISMO
## 46 OMAR Masculino 53 BEISBOL
## 47 JAZMIN Femenino 36 NATACION
## 48 LETICIA Masculino 35 FUTBOL AMERICANO
## 49 ISMAEL Femenino 39 BASQUETBOL
## 50 LETICIA Femenino 59 NATACION
## 51 PATRICIA Femenino 40 CICLISMO
## 52 FELIPE Masculino 30 CICLISMO
## 53 OMAR Masculino 33 NATACION
## 54 MARIBEL Femenino 46 VOLEIBOL
## 55 ARTURO Femenino 40 FUTBOL AMERICANO
## 56 ALICIA Masculino 56 ATLETISMO
## 57 EDGAR Masculino 50 RUGBY
## 58 JAZMIN Masculino 50 FUTBOL
## 59 FELIPE Femenino 23 BASEBALL
## 60 ISMAEL Femenino 42 BASEBALL
## 61 EDUARDO Masculino 15 ATLETISMO
## 62 ROSARIO Masculino 59 BEISBOL
## 63 MANUEL Femenino 56 CICLISMO
## 64 EDUARDO Femenino 48 BEISBOL
## 65 DANIELA Masculino 59 ATLETISMO
## 66 MARIBEL Masculino 20 ATLETISMO
## 67 SOFIA Femenino 55 ATLETISMO
## 68 ARTURO Femenino 38 ATLETISMO
## 69 SAHARA Masculino 17 FUTBOL
## 70 LEONARDO Masculino 40 ATLETISMO
## 71 MANUEL Masculino 52 RUGBY
## 72 PATRICIA Masculino 48 NATACION
## 73 SOFIA Masculino 48 CICLISMO
## 74 ARTURO Femenino 18 NATACION
## 75 ARTURO Masculino 54 FUTBOL
## 76 JESUS Femenino 23 BEISBOL
## 77 EDGAR Femenino 57 VOLEIBOL
## 78 SAHARA Masculino 24 CICLISMO
## 79 NATALIA Femenino 57 RUGBY
## 80 MARIBEL Femenino 56 BASQUETBOL
## 81 JAZMIN Femenino 26 BASQUETBOL
## 82 ISMAEL Masculino 55 CICLISMO
## 83 MANUEL Femenino 44 BASQUETBOL
## 84 DANIELA Masculino 46 FUTBOL
## 85 DANIELA Femenino 45 FUTBOL
## 86 DANIELA Femenino 52 VOLEIBOL
## 87 ERNESTO Masculino 41 BEISBOL
## 88 JAZMIN Femenino 25 BASQUETBOL
## 89 JESUS Femenino 46 ATLETISMO
## 90 JAZMIN Femenino 16 CICLISMO
## 91 ALICIA Masculino 25 FUTBOL AMERICANO
## 92 LEONARDO Femenino 15 BASQUETBOL
## 93 EDGAR Masculino 28 CICLISMO
## 94 OMAR Femenino 21 RUGBY
## 95 OMAR Masculino 33 CICLISMO
## 96 FELIPE Femenino 20 ATLETISMO
## 97 JAZMIN Masculino 44 CICLISMO
## 98 EDGAR Masculino 31 CICLISMO
## 99 EDUARDO Masculino 59 ATLETISMO
## 100 ALICIA Femenino 24 CICLISMO
3. Crear tabla de frecuencias con table() de la variable nombres
tabla_frec.nombres <- data.frame(transform(table(datos$nombres)))
names(tabla_frec.nombres) <- c('nombres', 'freq')
tabla_frec.nombres
## nombres freq
## 1 ALICIA 4
## 2 ARTURO 6
## 3 DANIELA 7
## 4 EDGAR 6
## 5 EDUARDO 5
## 6 ERNESTO 4
## 7 FELIPE 6
## 8 ISMAEL 3
## 9 JAZMIN 11
## 10 JESUS 4
## 11 LEONARDO 2
## 12 LETICIA 3
## 13 MANUEL 8
## 14 MARIBEL 7
## 15 NATALIA 4
## 16 OMAR 5
## 17 PATRICIA 5
## 18 ROSARIO 1
## 19 SAHARA 4
## 20 SOFIA 5
Total de elementos N
N <- nrow(datos)
N
## [1] 100
Determinar frecuencia relativa
freq.r <- tabla_frec.nombres$freq / N
freq.r
## [1] 0.04 0.06 0.07 0.06 0.05 0.04 0.06 0.03 0.11 0.04 0.02 0.03 0.08 0.07 0.04
## [16] 0.05 0.05 0.01 0.04 0.05
Determinar frecuencia porcentual
freq.p <- freq.r * 100
freq.p
## [1] 4 6 7 6 5 4 6 3 11 4 2 3 8 7 4 5 5 1 4 5
Construir tabla de distribución
tabla_frec.nombres <- cbind(tabla_frec.nombres, freq.r, freq.p)
tabla_frec.nombres
## nombres freq freq.r freq.p
## 1 ALICIA 4 0.04 4
## 2 ARTURO 6 0.06 6
## 3 DANIELA 7 0.07 7
## 4 EDGAR 6 0.06 6
## 5 EDUARDO 5 0.05 5
## 6 ERNESTO 4 0.04 4
## 7 FELIPE 6 0.06 6
## 8 ISMAEL 3 0.03 3
## 9 JAZMIN 11 0.11 11
## 10 JESUS 4 0.04 4
## 11 LEONARDO 2 0.02 2
## 12 LETICIA 3 0.03 3
## 13 MANUEL 8 0.08 8
## 14 MARIBEL 7 0.07 7
## 15 NATALIA 4 0.04 4
## 16 OMAR 5 0.05 5
## 17 PATRICIA 5 0.05 5
## 18 ROSARIO 1 0.01 1
## 19 SAHARA 4 0.04 4
## 20 SOFIA 5 0.05 5
4. Crear tabla de frecuencias con fdt_cat() de la variable nombres
tabla_frec.nombres.2 <- data.frame(fdt_cat(datos$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 JAZMIN 11 0.11 11 11 11
## 2 MANUEL 8 0.08 8 19 19
## 3 DANIELA 7 0.07 7 26 26
## 4 MARIBEL 7 0.07 7 33 33
## 5 ARTURO 6 0.06 6 39 39
## 6 EDGAR 6 0.06 6 45 45
## 7 FELIPE 6 0.06 6 51 51
## 8 EDUARDO 5 0.05 5 56 56
## 9 OMAR 5 0.05 5 61 61
## 10 PATRICIA 5 0.05 5 66 66
## 11 SOFIA 5 0.05 5 71 71
## 12 ALICIA 4 0.04 4 75 75
## 13 ERNESTO 4 0.04 4 79 79
## 14 JESUS 4 0.04 4 83 83
## 15 NATALIA 4 0.04 4 87 87
## 16 SAHARA 4 0.04 4 91 91
## 17 ISMAEL 3 0.03 3 94 94
## 18 LETICIA 3 0.03 3 97 97
## 19 LEONARDO 2 0.02 2 99 99
## 20 ROSARIO 1 0.01 1 100 100
5. Visualizar tabla de frecuencias de nombres (Barra)
barplot(height = tabla_frec.nombres.2$freq, names.arg = tabla_frec.nombres.2$nombres)

6. Visualizar un histograma de la variable edades
hist(datos$edades, main = "Frecuencia de edades", xlab = "Edades", ylab = "Frecuencias")

7. Crear tabla de frecuencias con table() de la variable edades
tabla.frec.edades <- data.frame(transform(table(datos$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
Gráfica de frecuencias de tabla_frec.edades
barplot(height = tabla.frec.edades$freq,
names.arg = tabla.frec.edades$edades,
main = "Frecuencias de Edades",
xlab = "Edades", ylab = "Frecuencias")

8. Crear tabla de frecuencias con fdt() de la variable edades
tabla.frec.edades_2 <- fdt(datos$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
9. Visualizar tabla de frecuencias de edades.
barplot(height = tabla.frec.edades_2$freq,
names.arg = tabla.frec.edades_2$clases,
main = "Frecuencias de Clases",
xlab = "Clases de edades", ylab = "Frecuencias")

10. Crear tabla de frecuencias con fdt_cat() de la variable genero
tabla_frec.genero <- data.frame(fdt_cat(datos$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
11. Visualizar tabla de frecuencias de generos (Barra)
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))

12. Crear tabla de frecuencias con fdt_cat() de a variable deportes
tabla_frec.deporte <- data.frame(fdt_cat(datos$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 CICLISMO 16 0.16 16 16 16
## 2 ATLETISMO 14 0.14 14 30 30
## 3 NATACION 12 0.12 12 42 42
## 4 VOLEIBOL 11 0.11 11 53 53
## 5 BASQUETBOL 10 0.10 10 63 63
## 6 RUGBY 10 0.10 10 73 73
## 7 BEISBOL 9 0.09 9 82 82
## 8 FUTBOL 7 0.07 7 89 89
## 9 BASEBALL 6 0.06 6 95 95
## 10 FUTBOL AMERICANO 5 0.05 5 100 100
13. Visualizar tabla de frecuencias de deportes (Barra)
barplot(height = tabla_frec.deporte$freq,
names.arg = tabla_frec.deporte$deportes,
main = "Frecuencias de deportes",
xlab = "Deportes", ylab = "Frecuencias")

14. Describir el caso.
R studio es una herramienta que facilita el generar tablas de distribucion y frecuencia asi como generar graficos(grafica de pastel, grafica de barra, etcetera) y esto ayuda bastante porque la organizacion de datos en tablas de distribucion y tablas de frecuencia ayuda bastante a identificar los datos significativos y a entender mejor los datos. Ademas podemos saber cual es la tendencia de esos datos, por ejemplo, de un grupo de personas, cual es su deporte favorito, o de los datos recopilados cual es el deporte favorito de un hombre o de una mujer, incluso podemos saber entre que rango de edad es mas famoso un deporte que otro.