CASO 2
Tabla de Frecuencia
OBJETIVO:
Generar tablas de frecuencias con un conjunto de datos de 100 registros.
DESCRIPCIÓN:
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.
PASO 1. Cargar la librería fdth()
La librería fdth() permite generar tablas de frecuencias
library(fdth)
PASO 2. Crearé un conjunto de datos y le daré el nombre de personas
a) Vamos a crear 10 nombres a partir de 20 nombres
b) Para que sus nombres aleatorios sen los mismos
c) vamos a plantar una semilla set.seed()
set.seed(100) #Número que tú prefieras
• El género será aleatorio entre Masculino y Femenino
• Edad aleatoria entre 15 y 60 años
• Generamos su deporte favorito entre 10 tipos de deportes
MisNombres=c("Lia","Mia","Sam","Leo","Carol","Gaby","Sebas","Luis","Mari",
"Ana","Tod","Fer","Luci","Ema","Pedro","Juan","Luisa","Juli","Ceci","Myri")
nombres=sample(MisNombres, 100, replace = TRUE)
nombres
## [1] "Ana" "Gaby" "Juan" "Ceci" "Ema" "Fer" "Gaby" "Leo" "Gaby"
## [10] "Mia" "Sebas" "Sebas" "Tod" "Juli" "Fer" "Sam" "Ceci" "Luis"
## [19] "Juli" "Mia" "Ceci" "Leo" "Leo" "Myri" "Juan" "Sebas" "Juan"
## [28] "Tod" "Myri" "Mia" "Gaby" "Luci" "Lia" "Mari" "Mari" "Mari"
## [37] "Tod" "Sebas" "Lia" "Mari" "Gaby" "Myri" "Ema" "Tod" "Luci"
## [46] "Ema" "Sam" "Ema" "Leo" "Ceci" "Ceci" "Ema" "Myri" "Ema"
## [55] "Carol" "Pedro" "Pedro" "Leo" "Fer" "Ceci" "Juan" "Juli" "Sam"
## [64] "Carol" "Fer" "Myri" "Ana" "Pedro" "Ana" "Fer" "Carol" "Ana"
## [73] "Sebas" "Fer" "Mari" "Tod" "Tod" "Sam" "Mari" "Juan" "Juan"
## [82] "Carol" "Juli" "Luis" "Luis" "Mia" "Ceci" "Fer" "Carol" "Ema"
## [91] "Luis" "Pedro" "Luisa" "Fer" "Luis" "Ana" "Sam" "Gaby" "Juan"
## [100] "Gaby"
genero= sample(c("Femenino", "Masculino"), 100, replace=TRUE)
edad=sample(15:60,100, replace = TRUE)
MisDeportes= c("FUTBOL", "TENIS","NATACION","AJEDREZ",
"BASQUETBOL","ATLETISMO","NATACIÓN","KARATE","BEISBOL","AMERICANO")
deportes=sample(MisDeportes,100,replace=TRUE)
personal= data.frame(nombres,genero,edad,deportes)
PASO 3. Crear una tabla de frecuencias con table() de la variable nombres
La variable de interés es nombres
• table() genera la frecuencia de cada elemento
• transform() tramsforma… significa renglones-columnas
• con names() cambiamos el nombre de las columnas de la tabla
La fórmula de freuencia es la siguiente=
\(F= Casos/n\)
#table(personal$nombres)
#transform(table(personal$nombres))
TablaFrecNombres = data.frame(transform(table(personal$nombres)))
names(TablaFrecNombres) = c("Nombres", "Frecuencia")
TablaFrecNombres
## Nombres Frecuencia
## 1 Ana 5
## 2 Carol 5
## 3 Ceci 7
## 4 Ema 7
## 5 Fer 8
## 6 Gaby 7
## 7 Juan 7
## 8 Juli 4
## 9 Leo 5
## 10 Lia 2
## 11 Luci 2
## 12 Luis 5
## 13 Luisa 1
## 14 Mari 6
## 15 Mia 4
## 16 Myri 5
## 17 Pedro 4
## 18 Sam 5
## 19 Sebas 5
## 20 Tod 6
También podemos calcular el total de elementos
TotalElem= nrow(personal)
TotalElem
## [1] 100
Podemos determinar la frecuencia relativa
FrecRelat=TablaFrecNombres$Frecuencia/TotalElem
FrecRelat
## [1] 0.05 0.05 0.07 0.07 0.08 0.07 0.07 0.04 0.05 0.02 0.02 0.05 0.01 0.06 0.04
## [16] 0.05 0.04 0.05 0.05 0.06
Calcularemos la frecuencia porcentual
FrecPorcen=FrecRelat*100
FrecPorcen
## [1] 5 5 7 7 8 7 7 4 5 2 2 5 1 6 4 5 4 5 5 6
Vamos a constuir la tabla de distribución
TablaFrecNombres= cbind(TablaFrecNombres,FrecRelat,FrecPorcen)
TablaFrecNombres
## Nombres Frecuencia FrecRelat FrecPorcen
## 1 Ana 5 0.05 5
## 2 Carol 5 0.05 5
## 3 Ceci 7 0.07 7
## 4 Ema 7 0.07 7
## 5 Fer 8 0.08 8
## 6 Gaby 7 0.07 7
## 7 Juan 7 0.07 7
## 8 Juli 4 0.04 4
## 9 Leo 5 0.05 5
## 10 Lia 2 0.02 2
## 11 Luci 2 0.02 2
## 12 Luis 5 0.05 5
## 13 Luisa 1 0.01 1
## 14 Mari 6 0.06 6
## 15 Mia 4 0.04 4
## 16 Myri 5 0.05 5
## 17 Pedro 4 0.04 4
## 18 Sam 5 0.05 5
## 19 Sebas 5 0.05 5
## 20 Tod 6 0.06 6
PASO 4. Crear tabla de frecuencias con fdt_cat() de la variable nombres
fdth_cat() es una función que genera tablas de distribución.
•La variable de interés es nuevamente nombres
• Genera los mismos valores que “TablaFrecNombres” solo que se agregan los acumulados
• data.frame() convierte la tabla de distribución generada por fdt_cat() en un data.frame(conjunto de datos)
• .names cambia los nombres de la TablaFrecNombres2
• Finalmente la tabla de distribución generada se construye ordenado de mayor a menor con respecto a la frecuencia
TablaFrecNombres2= data.frame(fdt_cat(personal$nombres))
names(TablaFrecNombres2)=c('Nombres', "Frecuencia","Frec. Relativa", "Frec. Porcentual",
"Frec. Acumulada", "Frec. Porcent. Acumulada")
TablaFrecNombres2
## Nombres Frecuencia Frec. Relativa Frec. Porcentual Frec. Acumulada
## 1 Fer 8 0.08 8 8
## 2 Ceci 7 0.07 7 15
## 3 Ema 7 0.07 7 22
## 4 Gaby 7 0.07 7 29
## 5 Juan 7 0.07 7 36
## 6 Mari 6 0.06 6 42
## 7 Tod 6 0.06 6 48
## 8 Ana 5 0.05 5 53
## 9 Carol 5 0.05 5 58
## 10 Leo 5 0.05 5 63
## 11 Luis 5 0.05 5 68
## 12 Myri 5 0.05 5 73
## 13 Sam 5 0.05 5 78
## 14 Sebas 5 0.05 5 83
## 15 Juli 4 0.04 4 87
## 16 Mia 4 0.04 4 91
## 17 Pedro 4 0.04 4 95
## 18 Lia 2 0.02 2 97
## 19 Luci 2 0.02 2 99
## 20 Luisa 1 0.01 1 100
## Frec. Porcent. Acumulada
## 1 8
## 2 15
## 3 22
## 4 29
## 5 36
## 6 42
## 7 48
## 8 53
## 9 58
## 10 63
## 11 68
## 12 73
## 13 78
## 14 83
## 15 87
## 16 91
## 17 95
## 18 97
## 19 99
## 20 100
PASO 5. Visualizar tabla de frecuencias de nombres()
barplot(height = TablaFrecNombres2$Frecuencia,
names.arg = TablaFrecNombres2$Nombres,
col = "purple")

PASO 6. Visualizar un histograma de la variable edad
hist(personal$edad, main = "Frecuencia de edades",
xlab = "Edades", ylab = "Frecuencias",
col = 644)

7. Crear una tabla de frecuencias con table() de la varieble edad
• La función table() genera frecuencias
TablaFrecEdades = data.frame(transform(table(personal$edad)))
#Aquí creé la tabla de frecuencia de las edades
names(TablaFrecEdades) = c("Edades", "Frecuencia")
TablaFrecEdades
## Edades Frecuencia
## 1 15 3
## 2 16 3
## 3 17 1
## 4 18 2
## 5 19 4
## 6 21 5
## 7 22 4
## 8 23 2
## 9 24 1
## 10 25 1
## 11 26 5
## 12 27 4
## 13 28 1
## 14 30 3
## 15 31 3
## 16 32 3
## 17 33 3
## 18 34 3
## 19 35 2
## 20 36 1
## 21 37 2
## 22 39 2
## 23 40 1
## 24 41 1
## 25 42 4
## 26 43 1
## 27 45 1
## 28 46 1
## 29 47 1
## 30 48 2
## 31 49 2
## 32 50 2
## 33 51 1
## 34 52 2
## 35 53 5
## 36 54 1
## 37 55 3
## 38 56 2
## 39 57 7
## 40 58 1
## 41 59 2
## 42 60 2
Ahora haremos una gráfica de frecuencias de TablaFrecEdades
barplot(height = TablaFrecEdades$Frecuencia,
names.arg = TablaFrecEdades$Edades,
main = "Frecuencias de Edades",
xlab = "Edades", ylab = "Frecuencia",
col = 143)

PASO 8. Crear tabla de frecuencias con fdt() de la variable edades
a) Determinar frecuencia absoluta
b) Determinar frecuencia relativa
c) Determinar frecuencia porcentual
d) Determinar frecuencia acumulada
e) Determinar frecuencia porcentual acumulada
TablaFrecEdades2 = fdt(personal$edad)
TablaFrecEdades2 = data.frame(TablaFrecEdades2$table)
names(TablaFrecEdades2) = c("Clases", "Frec","Frec. Relat.",
"Frec. Porce.","Frec. Acum.","Frec. Porcen. Acum.")
TablaFrecEdades2
## Clases Frec Frec. Relat. Frec. Porce. Frec. Acum. Frec. Porcen. Acum.
## 1 [14.85,20.57) 13 0.13 13 13 13
## 2 [20.57,26.29) 18 0.18 18 31 31
## 3 [26.29,32.01) 14 0.14 14 45 45
## 4 [32.01,37.73) 11 0.11 11 56 56
## 5 [37.73,43.44) 9 0.09 9 65 65
## 6 [43.44,49.16) 7 0.07 7 72 72
## 7 [49.16,54.88) 11 0.11 11 83 83
## 8 [54.88,60.6) 17 0.17 17 100 100
PASO 9. Visualizar la tabla de frecuencias de edad (Tabla de barras)
• Gráfica de frecuencias de TablaFrecEdades2
barplot(height = TablaFrecEdades2$Frec,
names.arg = TablaFrecEdades2$Clases,
main = "Frecuencias de clases",
xlab = "Clases de Edades",
ylab = "Frecuencia",
col= "aquamarine4")

PASO 10. Crear tabla de frecuencias con fdt_cat() de la variable ´genero’
a) Determinar frecuencia absoluta
b) Determinar frecuencia relativa
c) Determinar frecuencia porcentual
d) Determinar frecuencia acumulada
e) Determinar frecuencia porcentual acumulada
TablaFrecGenero = data.frame(fdt_cat(personal$genero))
names(TablaFrecGenero)= c("Generos","Frecuencia","Frec. Relat","Frec. Porc.",
"Frec. Acum","Frec.Por.Acum")
TablaFrecGenero
## Generos Frecuencia Frec. Relat Frec. Porc. Frec. Acum Frec.Por.Acum
## 1 Masculino 55 0.55 55 55 55
## 2 Femenino 45 0.45 45 100 100
PASO 11. Visualizar tabla de frecuencia de genero (Tabla de barras)
barplot(height = TablaFrecGenero$Frecuencia,
names.arg = TablaFrecGenero$Generos,
main = "Frecuencias de Géneros",
xlab = "Géneros", ylab = "Frecuencias",
col = c("royalblue", 130))

Ahora haremos una gráfica de pastel
pie(x = TablaFrecGenero$Frecuencia,
labels = TablaFrecGenero$Generos,
col = c(300,130))

PASO 12. Crear tabla de frecuencias con fdt_cat() de a variable deportes
a) Determinar frecuencia absoluta
b) Determinar frecuencia relativa
c) Determinar frecuencia porcentual
d) Determinar frecuencia acumulada
e) Determinar frecuencia porcentual acumulada
TablaFrecDeport = data.frame(fdt_cat(personal$deportes))
names(TablaFrecDeport)= c("Deportes","Frecuencia","Frec. Relat","Frec. Porc.",
"Frec. Acum","Frec.Por.Acum")
TablaFrecDeport
## Deportes Frecuencia Frec. Relat Frec. Porc. Frec. Acum Frec.Por.Acum
## 1 AMERICANO 15 0.15 15 15 15
## 2 BASQUETBOL 15 0.15 15 30 30
## 3 FUTBOL 11 0.11 11 41 41
## 4 AJEDREZ 10 0.10 10 51 51
## 5 KARATE 10 0.10 10 61 61
## 6 TENIS 10 0.10 10 71 71
## 7 ATLETISMO 8 0.08 8 79 79
## 8 NATACION 8 0.08 8 87 87
## 9 NATACIÓN 7 0.07 7 94 94
## 10 BEISBOL 6 0.06 6 100 100
PASO 13. Visualizar la tabla de frecuencias de deportes.
barplot(height = TablaFrecDeport$Frecuencia,
names.arg = TablaFrecDeport$Deportes,
main = "Frecuencias de los deportes",
xlab = "Deportes", ylab = "Frecuencias",
col = c(rainbow(length(TablaFrecDeport$Deportes))))

PASO 14. Describir el CASO 2 a través de 80- 100 palabras.
• De acuerdo con mi tabla de frecuencias del paso 4, el nombre que más se repite es Fer (8 veces).
• El nombre que menos se repitió fue Luisa, ya que solo apareció una vez.
• Fer representa el 8% del total de nombres que tenemos.
• De acuerdo con mi tabla de frecuencia de edades (paso 7) la edad más común es 57 años.
• Mi gráfica de pastel (paso 11) muestra que hay más hombres que mujeres.
• Según mi tabla de frecuenicas del paso 13, los 2 deportes más jugados son el fútbol americano y el básquetbol, con una frecuencia de 15 cada uno.