Objetivo

Agrupar datos y describir datos visualmente de variables de edades y generos usando función fdt y fdt_cat de la librería fdth.

Descripción

Se cargan librerías adecuadas de caso

Se construyen y simulan datos con dos variables de interés edades y géneros de personas.

Se determina las clase para construir tablas de frecuencias de los datos a partir de las variables de interés edades y géneros.

Se visualizan frecuencias con histograma y gráfico de tallo y hoja para datos numéricos (edades) y gráfico de barra para datos categórico o tipo character (géneros).

Se interpreta el caso

Fundamento teórico

Datos agrupados

Los datos agrupados son aquellos que están clasificados en función a un criterio, mostrando una frecuencia para cada clase o grupo formado.

Los datos no agrupados es el conjunto de observaciones que se presentan en su forma original tal y como fueron recolectados, para obtener información directamente de ellos.

Los datos no agrupados es un conjunto de información si ningún orden que no nos establece relación clara con lo que se pretende desarrollar a lo largo de un problema, esto se soluciona mediante una tabulación que conduce a una tabla de frecuencias.

La principal diferencia entre datos agrupados y no agrupados es que los primeros han sido divididos por categorías, como habíamos mencionado. En cambio, los datos no agrupados se presentan tal cual han sido recopilados, sin ninguna modificación (quizás pueden ser ordenados, por ejemplo, de menor a mayor).

Frecuencia

La frecuencia es una medida estadística que nos da información acerca de la cantidad de veces que se repite un suceso al realizar un número determinado de experimentos aleatorios.

Frecuencia relativa

La frecuencia relativa es una medida estadística que se calcula como el cociente de la frecuencia absoluta de algún valor de la población/muestra (fi) entre el total de valores que componen la población/muestra (N).

Frecuencia porcentual

Es la representación porcentual de la frecuencia relativa con respecto al 100%, es decir multiplicar la frecuencia relativa por 100. La suma de la frecuencia porcentual (%) debe ser el 100%.

Frecuecia acumulada

La frecuencia acumulada es el resultado de sumar sucesivamente las frecuencias absolutas o relativas, desde el menor al mayor de sus valores. Para calcular la frecuencia acumulada hay que ordenar los datos de menor a mayor.

Clases

Es el número de subconjuntos en que se han agrupado los datos. Cada clase se puede denominar mediante una letra, un número o alguna característica del subconjunto.

Puntos medios y límites

Los límites de clase son los valores mínimos y máximos de una clase, los intervalos de clase es la diferencia entre límite superior y límite inferior y los pintos medios es el valor medio entre cada rango de cada clase.

Fórmulas para determinar clases

Regla de Sturges

La regla de Sturges es un criterio utilizado para determinar el número de clases o intervalos que son necesarios para representar gráficamente un conjunto de datos estadísticos.

La fórmula para calcular el número de clases de acuerdo a Sturges es:

\[ k=1+3.322\cdot log10(N) \]

  • k es el número de clases.

  • N es el número total de observaciones de la muestra.

  • Log es el logaritmo común de base 10.

El rango de clase de acuerdo a Sturges está dada por: \[ h=\frac{max(datos) - min(datos)}{k} \]

Regla de Scott

\[ k=3.5\cdot S \cdot n^{-1/3} \] * S es la desviación estándar * n el total de elementos

Regla de Freedman & Diaconis (FD)

\[ k = 2 \cdot IQ \cdot n ^ {-\frac{1}{3}} \]

  • IQ es el el rango intercuartílico
  • n es el total de los datos

Desarrollo

Cargar librerías

library(fdth)     # Tablas de frecuencia
library(ggplot2)  # Visualizar datos

Crear datos

Sembrar semilla

set.seed(2022)
n = 300
edades <- sample(x = 18:28, size = n, replace = TRUE)
generos <- sample(x = c('FEMENINO', 'MASCULINO'), size = n, replace = TRUE)
datos <- data.frame(edades, generos)

Mostrar los primeros diez

La función head() y describe o muestra la cantidad de observaciones de los que se especifica, los primeros registros.

head(datos, 10)
##    edades   generos
## 1      21 MASCULINO
## 2      20  FEMENINO
## 3      24 MASCULINO
## 4      28 MASCULINO
## 5      21 MASCULINO
## 6      23  FEMENINO
## 7      28  FEMENINO
## 8      26  FEMENINO
## 9      25  FEMENINO
## 10     24 MASCULINO

Mostrar los últimos diez

La función tail() muestra los últimos registros que se especifican.

tail(datos, 10)
##     edades   generos
## 291     27  FEMENINO
## 292     28 MASCULINO
## 293     23  FEMENINO
## 294     25 MASCULINO
## 295     26 MASCULINO
## 296     26 MASCULINO
## 297     28  FEMENINO
## 298     20 MASCULINO
## 299     26  FEMENINO
## 300     26  FEMENINO

Crear tabla de frecuencias y visualizar datos

Variable edades

Se utiliza la variable de interés edades del conjunto de datos

tabla.frec.edades1 <- fdt(x = datos$edades, breaks = "Sturges")
tabla.frec.edades1
##     Class limits  f   rf rf(%)  cf  cf(%)
##   [17.82,18.866) 30 0.10 10.00  30  10.00
##  [18.866,19.912) 29 0.10  9.67  59  19.67
##  [19.912,20.958) 33 0.11 11.00  92  30.67
##  [20.958,22.004) 48 0.16 16.00 140  46.67
##   [22.004,23.05) 21 0.07  7.00 161  53.67
##   [23.05,24.096) 29 0.10  9.67 190  63.33
##  [24.096,25.142) 26 0.09  8.67 216  72.00
##  [25.142,26.188) 22 0.07  7.33 238  79.33
##  [26.188,27.234) 33 0.11 11.00 271  90.33
##   [27.234,28.28) 29 0.10  9.67 300 100.00
tabla.frec.edades2 <- fdt(x = datos$edades, start = min(datos$edades)-1, end = max(datos$edades)+1, h = 1)
tabla.frec.edades2
##  Class limits  f   rf rf(%)  cf  cf(%)
##       [17,18)  0 0.00  0.00   0   0.00
##       [18,19) 30 0.10 10.00  30  10.00
##       [19,20) 29 0.10  9.67  59  19.67
##       [20,21) 33 0.11 11.00  92  30.67
##       [21,22) 24 0.08  8.00 116  38.67
##       [22,23) 24 0.08  8.00 140  46.67
##       [23,24) 21 0.07  7.00 161  53.67
##       [24,25) 29 0.10  9.67 190  63.33
##       [25,26) 26 0.09  8.67 216  72.00
##       [26,27) 22 0.07  7.33 238  79.33
##       [27,28) 33 0.11 11.00 271  90.33
##       [28,29) 29 0.10  9.67 300 100.00

Histograma

Un histograma es un representación gráfica organizada que describe frecuencias de clases de datos numéricos en forma de barra.

ggplot(data = datos) +
  geom_histogram(aes(x = edades), fill = "blue", binwidth = 0.5)

Histograma usando hist()

La función hist() no requiere librería y se puede utilizar directamente para representar un histograma y determina frecuencia. En este ejemplo con valores similares a la tabla.frec.edades2.

hist(datos$edades, breaks = (min(edades)-1):(max(edades)+1), main = "Histograma edades de 18 a 28", xlab = "Edades", ylab = "Frecuencia")

Diagrama de tallo y hoja

La función stem() representa un digrama de tallo y hoja. El diagrama de tallo y hoja identifica frecuencias de clases en formato textual.

stem(datos$edades)
## 
##   The decimal point is at the |
## 
##   18 | 000000000000000000000000000000
##   19 | 00000000000000000000000000000
##   20 | 000000000000000000000000000000000
##   21 | 000000000000000000000000
##   22 | 000000000000000000000000
##   23 | 000000000000000000000
##   24 | 00000000000000000000000000000
##   25 | 00000000000000000000000000
##   26 | 0000000000000000000000
##   27 | 000000000000000000000000000000000
##   28 | 00000000000000000000000000000

Grafíca de frecuencia acumulada

Acumulado con tabla2

# Pendiente
ggplot() +
  geom_line(aes(x = tabla.frec.edades2$table$`Class limits`, y = tabla.frec.edades2$table$cf))+
  geom_point(aes(x = tabla.frec.edades2$table$`Class limits`, y = tabla.frec.edades2$table$cf)) 
## geom_path: Each group consists of only one observation. Do you need to adjust
## the group aesthetic?

Variable generos

Se utiliza la variable de interés generos del conjunto de datos

tabla.frec.generos <- fdt_cat(datos$generos)
tabla.frec.generos
##   Category   f   rf rf(%)  cf cf(%)
##   FEMENINO 156 0.52    52 156    52
##  MASCULINO 144 0.48    48 300   100

Diagrama o gráfica de barra

ggplot(data = datos) +
  geom_bar(aes(x = generos))

Interpretación

Al realizar este trabajo podemos definir que son los datos agrupados y los diferentes tipos de frecuencia, al igual que las clases y por último los puntos medios y límites. Pudimos conocer las fórmulas para determinar las clases, por ejemplo, la regla de Sturges que nos sirve para determinar el número de clases o intervalos que son necesarios para representar gráficamente un conjunto de datos estadísticos.

En el desarrollo de nuestro caso generemos la semilla (serán 2022 elementos) y con la función head() que nos ayudara describir o mostrar la cantidad de observaciones de los que se especifica, los primeros registros de las edades y géneros, ahora si queremos mostrar los últimos 10 datos podemos usar la función tail(), pues bien ahora visualizamos el histograma que nos describe frecuencias de clases de datos en forma de una gráfica de barra. Pero qué tal si queremos visualizar un diagrama para saber con qué frecuencia se repiten los datos utilizaremos la función stem() representa un diagrama de tallo y hoja.