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.
Una distribución de frecuencia es un resumen tabular de datos que muestra el número (frecuencia) de elementos en cada una de las diferentes clases disyuntas (que no se sobreponen). Anderson, D., Sweeney, D., & Williams, T. (2008).
Las tablas de frecuencia usualmente tienen dos columnas; una de ellas, la primera,muestra todos los posibles valores que asume la variable y la segunda, para cada valor de la variable muestra el número de veces que se presenta dicho valor, en el contexto en el que se está trabajando; tal número se denomina frecuencia.
Se puede tener tablas de atributos, de variables discretas y de variables continuas. De acuerdo a la forma como se organizan las frecuencias se tiene: tablas de frecuencias absolutas, de frecuencias relativas, de frecuencias porcentuales, de frecuencias acumuladas absolutas, de frecuencias acumuladas relativas y de frecuencias acumuladas porcentuales. (Sarmiento & Fernández, 2013, p. 42).
Frecuencia o Frecuencia Absoluta: Es el número de veces que se presenta un determinado dato de un carácter en los diferentes elementos de una población o la muestra. Se representa por ni. Es el número de repeticiones de un determinado valor de la variable o una modalidad del atributo. La frecuencia absoluta también representa el número de elementos de la muestra que tiene el mismo valor o modalidad. La suma total de todas las frecuencias absolutas es el tamaño de la muestra de elementos observados y se representa por N. (Cordero, Córdoba & Fernández, 2002, p. 48) \(fi=ni\) Frecuencia Relativa:
La frecuencia relativa de una clase es igual a la parte o proporción de los elementos que pertenecen a cada clase Anderson, D., Sweeney, D., & Williams, T. (2008).. Se obtiene dividiendo la frecuencia absoluta de un determinado valor o categoria de la variable entre la suma de las frecuencias absolutas de todos los valores observados, es decir, entre el tamaño de la muestra. Por tanto, la frecuencia relativa es una porción entre el número de veces que se repite un dato y el tamaño de la población y/o muestra. (Cordero, Córdoba & Fernández, 2002, p. 48).
En un conjunto de datos, en el que hay N observaciones, la frecuencia relativa de cada clase se determina: \(fr=fi/N\) Frecuencia Porcentual:
La frecuencia porcentual de una clase es la frecuencia relativa multiplicada por 100.Anderson, D., Sweeney, D., & Williams, T. (2008).
Es otra forma de presentar las frecuencias relativas, las cuales muestran una porción de la unidad, mientras que la frecuencia porcentual muestra qué tanto porciento de la muestra presenta un determiando valor (o categoría de la variable). “las frecuencias relativas se suelen presentar en porcentajes que se obtienen al multiplicar por 100 el valor correspondiente de fr. En este caso, la suma total de todas las frecuencias relativas porcentuales será 100 Cordero, Córdoba y Fernández (2002) \(fp=fr⋅100\) Una gráfica de barras o un diagrama de barras, es una gráfica para representar los datos cualitativos de una distribución de frecuencia, de frecuencia relativa o de frecuencia porcentual. En uno de los ejes de la gráfica (por lo general en el horizontal), se especifican las etiquetas empleadas para las clases (categorías). Para el otro eje de la gráfica (el vertical) se usa una escala para frecuencia, frecuencia relativa o frecuencia porcentual.Anderson, D., Sweeney, D., & Williams, T. (2008).
Una presentación gráfica usual para datos cuantitativos es el histograma. Esta gráfica se hace con datos previamente resumidos mediante una distribución de frecuencia, de frecuencia relativa o de frecuencia porcentual. Un histograma se construye colocando la variable de interés en el eje horizontal y la frecuencia, la frecuencia relativa o la frecuencia porcentual en el eje vertical. La frecuencia, frecuencia relativa o frecuencia porcentual de cada clase se indica dibujando un rectángulo cuya base está determinada por los límites de clase sobre el eje horizontal y cuya altura es la frecuencia, la frecuencia relativa o la frecuencia porcentual correspondiente. Anderson, D., Sweeney, D., & Williams, T. (2008).
ºLa librería fdth permite generar tablas de frecuencias.
library(fdth)
##
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
##
## sd, var
ºSembrar una semila set.seed()
set.seed(2020) # Año 2020, pueden poner el valor numérico a su gusto
º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
losnombres <- c("JUAN", 'FRANCISCO', 'OSCAR', 'LUIS', 'GUILLERMO',
"PATRICIA", 'ALICIA', 'EDGAR', 'LEONARDO', 'GABRIELA', 'LETICIA', 'NORMA', 'ANDREA', 'HORACIO', 'SANDRA', 'RUBEN', 'JAVIER', 'MARICELA', 'ROSARIO', 'GUILLERMINA')
nombres <- sample(losnombres, 100, replace = TRUE)
# nombres
generos <- sample(c('Femenino', 'Masculino'), 100, replace = TRUE)
edades <- sample(15:60, 100, replace = TRUE)
misdeportes <- c("FUTBOL", 'TENIS', 'AJEDREZ', 'BASQUETBOL', 'ATLETISMO',
'NATACION', 'KARATE', 'BEISBOL', 'FUTBOL AMERICANO', 'RUGBY')
deportes <- sample(misdeportes, 100, replace = TRUE)
personal <- data.frame(nombres, generos, edades, deportes)
personal
## nombres generos edades deportes
## 1 NORMA Femenino 15 KARATE
## 2 JUAN Masculino 53 NATACION
## 3 JAVIER Femenino 58 FUTBOL
## 4 LUIS Femenino 58 NATACION
## 5 GABRIELA Femenino 36 FUTBOL AMERICANO
## 6 PATRICIA Masculino 26 TENIS
## 7 JAVIER Masculino 26 KARATE
## 8 ANDREA Masculino 24 KARATE
## 9 EDGAR Femenino 27 RUGBY
## 10 GABRIELA Masculino 41 NATACION
## 11 MARICELA Femenino 59 NATACION
## 12 RUBEN Masculino 56 RUGBY
## 13 FRANCISCO Masculino 55 BASQUETBOL
## 14 RUBEN Masculino 58 KARATE
## 15 OSCAR Masculino 43 RUGBY
## 16 FRANCISCO Masculino 39 RUGBY
## 17 EDGAR Femenino 33 BASQUETBOL
## 18 LUIS Femenino 16 AJEDREZ
## 19 MARICELA Femenino 58 RUGBY
## 20 HORACIO Masculino 18 TENIS
## 21 HORACIO Femenino 25 KARATE
## 22 NORMA Femenino 33 BASQUETBOL
## 23 RUBEN Femenino 43 KARATE
## 24 SANDRA Femenino 55 TENIS
## 25 HORACIO Femenino 16 KARATE
## 26 ALICIA Femenino 34 BEISBOL
## 27 GUILLERMINA Femenino 21 KARATE
## 28 MARICELA Masculino 22 TENIS
## 29 GUILLERMINA Masculino 28 BEISBOL
## 30 GUILLERMINA Femenino 58 BASQUETBOL
## 31 RUBEN Masculino 39 FUTBOL AMERICANO
## 32 NORMA Femenino 50 RUGBY
## 33 MARICELA Masculino 37 FUTBOL
## 34 GABRIELA Femenino 24 AJEDREZ
## 35 PATRICIA Femenino 27 NATACION
## 36 SANDRA Masculino 41 ATLETISMO
## 37 LETICIA Femenino 49 NATACION
## 38 ANDREA Femenino 41 BEISBOL
## 39 ANDREA Femenino 41 AJEDREZ
## 40 ANDREA Masculino 34 BEISBOL
## 41 FRANCISCO Femenino 37 ATLETISMO
## 42 RUBEN Femenino 21 AJEDREZ
## 43 ANDREA Femenino 42 ATLETISMO
## 44 JUAN Femenino 19 NATACION
## 45 PATRICIA Masculino 41 ATLETISMO
## 46 OSCAR Masculino 53 BEISBOL
## 47 ANDREA Femenino 36 NATACION
## 48 LETICIA Masculino 35 FUTBOL AMERICANO
## 49 GUILLERMO Femenino 39 BASQUETBOL
## 50 LETICIA Femenino 59 NATACION
## 51 PATRICIA Femenino 40 AJEDREZ
## 52 FRANCISCO Masculino 30 AJEDREZ
## 53 OSCAR Masculino 33 NATACION
## 54 MARICELA Femenino 46 KARATE
## 55 JUAN Femenino 40 FUTBOL AMERICANO
## 56 ALICIA Masculino 56 ATLETISMO
## 57 EDGAR Masculino 50 RUGBY
## 58 ANDREA Masculino 50 FUTBOL
## 59 FRANCISCO Femenino 23 TENIS
## 60 GUILLERMO Femenino 42 TENIS
## 61 LUIS Masculino 15 ATLETISMO
## 62 ROSARIO Masculino 59 BEISBOL
## 63 RUBEN Femenino 56 AJEDREZ
## 64 LUIS Femenino 48 BEISBOL
## 65 GUILLERMINA Masculino 59 ATLETISMO
## 66 MARICELA Masculino 20 ATLETISMO
## 67 GABRIELA Femenino 55 ATLETISMO
## 68 JUAN Femenino 38 ATLETISMO
## 69 SANDRA Masculino 17 FUTBOL
## 70 LEONARDO Masculino 40 ATLETISMO
## 71 RUBEN Masculino 52 RUGBY
## 72 PATRICIA Masculino 48 NATACION
## 73 GABRIELA Masculino 48 AJEDREZ
## 74 JUAN Femenino 18 NATACION
## 75 JUAN Masculino 54 FUTBOL
## 76 JAVIER Femenino 23 BEISBOL
## 77 EDGAR Femenino 57 KARATE
## 78 SANDRA Masculino 24 AJEDREZ
## 79 NORMA Femenino 57 RUGBY
## 80 MARICELA Femenino 56 BASQUETBOL
## 81 ANDREA Femenino 26 BASQUETBOL
## 82 GUILLERMO Masculino 55 AJEDREZ
## 83 RUBEN Femenino 44 BASQUETBOL
## 84 GUILLERMINA Masculino 46 FUTBOL
## 85 GUILLERMINA Femenino 45 FUTBOL
## 86 GUILLERMINA Femenino 52 KARATE
## 87 HORACIO Masculino 41 BEISBOL
## 88 ANDREA Femenino 25 BASQUETBOL
## 89 JAVIER Femenino 46 ATLETISMO
## 90 ANDREA Femenino 16 AJEDREZ
## 91 ALICIA Masculino 25 FUTBOL AMERICANO
## 92 LEONARDO Femenino 15 BASQUETBOL
## 93 EDGAR Masculino 28 AJEDREZ
## 94 OSCAR Femenino 21 RUGBY
## 95 OSCAR Masculino 33 AJEDREZ
## 96 FRANCISCO Femenino 20 ATLETISMO
## 97 ANDREA Masculino 44 AJEDREZ
## 98 EDGAR Masculino 31 AJEDREZ
## 99 LUIS Masculino 59 ATLETISMO
## 100 ALICIA Femenino 24 AJEDREZ
#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 ALICIA 4
## 2 ANDREA 11
## 3 EDGAR 6
## 4 FRANCISCO 6
## 5 GABRIELA 5
## 6 GUILLERMINA 7
## 7 GUILLERMO 3
## 8 HORACIO 4
## 9 JAVIER 4
## 10 JUAN 6
## 11 LEONARDO 2
## 12 LETICIA 3
## 13 LUIS 5
## 14 MARICELA 7
## 15 NORMA 4
## 16 OSCAR 5
## 17 PATRICIA 5
## 18 ROSARIO 1
## 19 RUBEN 8
## 20 SANDRA 4
ºTotal de elementos N
N <- nrow(personal)
N
## [1] 100
º b.Determinar frecuencia relativa
freq.r <- tabla_frec.nombres$freq / N
freq.r
## [1] 0.04 0.11 0.06 0.06 0.05 0.07 0.03 0.04 0.04 0.06 0.02 0.03 0.05 0.07 0.04
## [16] 0.05 0.05 0.01 0.08 0.04
º c.Determinar frecuencia porcentual
freq.p <- freq.r * 100
freq.p
## [1] 4 11 6 6 5 7 3 4 4 6 2 3 5 7 4 5 5 1 8 4
ºConstruyendo 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 ANDREA 11 0.11 11
## 3 EDGAR 6 0.06 6
## 4 FRANCISCO 6 0.06 6
## 5 GABRIELA 5 0.05 5
## 6 GUILLERMINA 7 0.07 7
## 7 GUILLERMO 3 0.03 3
## 8 HORACIO 4 0.04 4
## 9 JAVIER 4 0.04 4
## 10 JUAN 6 0.06 6
## 11 LEONARDO 2 0.02 2
## 12 LETICIA 3 0.03 3
## 13 LUIS 5 0.05 5
## 14 MARICELA 7 0.07 7
## 15 NORMA 4 0.04 4
## 16 OSCAR 5 0.05 5
## 17 PATRICIA 5 0.05 5
## 18 ROSARIO 1 0.01 1
## 19 RUBEN 8 0.08 8
## 20 SANDRA 4 0.04 4
ºfdt_cat() es una función que genera la tabla de distribución ºLa variable de interés sigue siendo nombres Genera los mismos valores que ‘tabla_frec.nombres’ , sólo que se agregan los acumulados ºLa función data.frame() convierte la tabla de distribución generada por ºfdt_cat() en un data.frame (conjunto de datos). ºLa función names() cambia los nombres de la tabla_frec.nombres.2 ºFinalmente la tabla de distribución generada se construye ordenado de mayor a menor con repecto a la frecuencia
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 ANDREA 11 0.11 11 11 11
## 2 RUBEN 8 0.08 8 19 19
## 3 GUILLERMINA 7 0.07 7 26 26
## 4 MARICELA 7 0.07 7 33 33
## 5 EDGAR 6 0.06 6 39 39
## 6 FRANCISCO 6 0.06 6 45 45
## 7 JUAN 6 0.06 6 51 51
## 8 GABRIELA 5 0.05 5 56 56
## 9 LUIS 5 0.05 5 61 61
## 10 OSCAR 5 0.05 5 66 66
## 11 PATRICIA 5 0.05 5 71 71
## 12 ALICIA 4 0.04 4 75 75
## 13 HORACIO 4 0.04 4 79 79
## 14 JAVIER 4 0.04 4 83 83
## 15 NORMA 4 0.04 4 87 87
## 16 SANDRA 4 0.04 4 91 91
## 17 GUILLERMO 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
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")
#### 7. Crear tabla de frecuencias con table() de la variable edades ºLa función table() genera 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
º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 º a.Determinar frecuencia absoluta
º b.Determinar frecuencia relativa
º c.Determinar frecuencia porcentual
º d.Determinar frecuencia acumulada
º e.Determinar frecuencia porcentual acumulada
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
ºGráfica de frecuencias de tabla_frec.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")
º a.Determinar frecuencia absoluta
º b.Determinar frecuencia relativa
º c.Determinar frecuencia porcentual
º d.Determinar frecuencia acumulada
º e.Determinar frecuencia porcentual acumulada
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))
º a.Determinar frecuencia absoluta
º b.Determinar frecuencia relativa
º c.Determinar frecuencia porcentual
º d.Determinar frecuencia acumulada
º e.Determinar frecuencia porcentual acumulada
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 AJEDREZ 16 0.16 16 16 16
## 2 ATLETISMO 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 RUGBY 10 0.10 10 73 73
## 7 BEISBOL 9 0.09 9 82 82
## 8 FUTBOL 7 0.07 7 89 89
## 9 TENIS 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")
#### Interpretacion(Mi descripcion) El estudiante tiene que familiarize con el programa rstudio ya que sera la herramienta principal que se vera durante todo el semestre, veremos como cargar libretas, conjunto de datos, tablas, vizualizacion como de: barras o pastel, esto nos ayudara a completar los siguientes casos con los temas correspondientes.