Objetivo

Analizar datos mediante tablas de distribución de frecuencia de una simulación de 63000 personas encuestadas que contienen datos cualitativos y cuantitativos

Descripción

El conjunto de datos son 63000 personas que contienen datos como la entidad de la RepúblicanMexicana, la edad, la altura en metros, el peso en kilogramos, el género.

Se generan tablas de frecuencias y visualiación gráfica de datos y congestar las cuestiones del caso.

Fundamento teórico

Desarrollo

Cargar librerías necesarias

library(fdth)
## Warning: package 'fdth' was built under R version 4.0.3
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
## 
##     sd, var

Los datos

Antes de crear los datos, se prepara el documento aplicando la función sed.seed(), esta instrucción permite establecer una semilla que permite generar los misos valores aleatorios cuando se utilizan funciones que tiene que ver con elementos aleatorios, en este caso con la función sample() que más adelante se utiliza.

set.seed(2021) # Semilla de este año 

Se simulan 63000 datos en un data.frame o conjunto de datos a partir de vectores.

Por medio de la función sample() se genera la muestra de 63000 personas que simuladamente fueron encuestadas.

De cada persona se les pregunta estado de la República Mexicana en donde radica o vive, la edad de entre un rango de 18 a 65, la altura en metros, el peso en kilogramos y el género [Femenino o Masculino].

Las variables:

  • estados es una variable tipo vector con 6 elementos que contiene 6 diferentes estados de la República Mexicana.
  • entidades será una variable que contiene los 63 mil personas encuestadas conforme y de acuerdo al algún estado de la República Mexicana de los seis inicializados.
  • estaturas dado en metros de cada persona.
  • pesos dado en kilogramos.
  • edades de entre 18 y 65 años.
  • generos Masculino o Femenino.
  • datos es la variable que contiene el data.frame a partir de todo el conjunto de vectores

Las funciones:

  • factor() es una función que convierte tipo char a tipo de dato categórico, es decir, que se puede saber cuáles son diferentes entre sí,las clase que hay y además se puede contar y determinar su frecuencia
  • length() determina a cantidad de elementos de un vector y se utiliza para determinar \(n.muestra\) tamaño de la muestra
  • sample() es para generar muestras de cierta cantidad de elementos a partir de datos iniciales sample() se utiliza para simular 63000 personas encuestadas
  • data.frame() es la función que construye el conjunto de datos o data.frame.
estados <- c('Durango', 'Jalisco', 'Nuevo León', 
             'Baja California', 'Coahuila', 
             'Chihuahua')
estados
## [1] "Durango"         "Jalisco"         "Nuevo León"      "Baja California"
## [5] "Coahuila"        "Chihuahua"
estados <- factor(estados)
estados
## [1] Durango         Jalisco         Nuevo León      Baja California
## [5] Coahuila        Chihuahua      
## Levels: Baja California Chihuahua Coahuila Durango Jalisco Nuevo León
entidades <- sample(x= estados, size = 63000, replace = TRUE)

n.muestra <- length(entidades)
n.muestra
## [1] 63000
edades <- sample(18:65, 63000, replace = TRUE)

alturas <- sample(145:200, 63000, replace = TRUE) / 100

pesos <- sample(40:120, 63000, replace = TRUE)

generos <- sample(factor(c('Femenino', 'Masculino')), 63000, replace=TRUE)

datos <- data.frame(entidades, edades, pesos, alturas, generos)


head(datos, 10)  # Los primeros 10 registros
##          entidades edades pesos alturas   generos
## 1        Chihuahua     55    66    1.68 Masculino
## 2        Chihuahua     35   107    1.48 Masculino
## 3          Jalisco     62    53    1.66 Masculino
## 4  Baja California     36    82    1.81 Masculino
## 5  Baja California     22    42    1.83  Femenino
## 6        Chihuahua     18    52    1.67 Masculino
## 7        Chihuahua     30    74    1.68  Femenino
## 8       Nuevo León     39    52    1.77 Masculino
## 9        Chihuahua     56    99    1.47 Masculino
## 10       Chihuahua     55   112    1.83  Femenino
tail(datos, 10)  # Los últimos 10 registros
##             entidades edades pesos alturas   generos
## 62991         Jalisco     47    84    1.66 Masculino
## 62992        Coahuila     55    76    1.63 Masculino
## 62993         Durango     30    63    1.47  Femenino
## 62994         Jalisco     62    98    1.56  Femenino
## 62995         Durango     61    78    1.68  Femenino
## 62996      Nuevo León     43   110    1.47  Femenino
## 62997       Chihuahua     36    56    1.72  Femenino
## 62998         Jalisco     30   116    1.93  Femenino
## 62999       Chihuahua     62    61    1.50  Femenino
## 63000 Baja California     41    46    1.51  Femenino

Estados con mayor y menor frecuencia

  • ¿Cual es estado de la República Mexicana que más encuestados hay?

  • ¿Cual es estado de la república Mexicana que menos encuestados hay?

La función en R llamada table() permite contar o determianr la frecuencia de clase de un conjunto de datos simpre y cuando estos sean de tipo factor.

Se cuenta la frecuencia de la columna o variable entidades y se accede a través del signo de pesos pesos, la variable es datos$entidades.

frecuencia.entidades <- table(datos$entidades)
frecuencia.entidades
## 
## Baja California       Chihuahua        Coahuila         Durango         Jalisco 
##           10583           10547           10295           10669           10516 
##      Nuevo León 
##           10390

Visualizar en una gráfica de barra

Se utiliza la función barplot() para hacer un diagrama de barra. Se utilizan el atributo height() para determinar la altura de cada barra que hay en el eje vertical y en el eje horizontal el atributo names.org para cada categoría o clase, en este caso cada estado de la República Mexicana.

Se utiliza una función as.vector() para acceder a los valores numéricos de un tipo de datos creado con la función table().

barplot(height = as.vector(frecuencia.entidades), names.arg = levels(estados))

Frecuencia por género

  • Cuál es la frecuencia de clases, relativa y porcentual de géneros de personas?

La función en R llamada table() permite contar o determianr la frecuencia de clase de un conjunto de datos simpre y cuando estos sean de tipo factor.

Se cuenta la frecuencia de la columna o variable entidades y se accede a través del signo de pesos pesos, la variable es datos$generos.

frecuencia.generos <- table(datos$generos)
frecuencia.generos
## 
##  Femenino Masculino 
##     31494     31506

Frecuencia relativa de generos

La frecuencia relativa es la parte proporcional de una categoría con respecto al total.

frecuencia.relativa <- frecuencia.generos / n.muestra
frecuencia.relativa
## 
##  Femenino Masculino 
## 0.4999048 0.5000952

Frecuencia porcentual

Es multiplicar la frecuencia relativa por 100

frecuencia.porcentual <- frecuencia.relativa * 100
frecuencia.porcentual
## 
##  Femenino Masculino 
##  49.99048  50.00952

Visualizar en una gráfica de barra el atributo de género

Se utiliza la función barplot() para hacer un diagrama de barra. Se utilizan el atributo height() para determinar la altura de cada barra que hay en el eje vertical y en el eje horizontal el atributo names.org para cada categoría o clase, en este caso cada tipo de género masculino o femenino.

Se utiliza una función as.vector para acceder a los valores numéricos de un tipo de datos creado con la función table().

barplot(height = as.vector(frecuencia.generos), names.arg = c("Femenino","Masculino" ))

Edades de las personas

  • ¿De qué edad es la persona de tiene más años?

Se pueden usar funciones estadísticas tradiconales como max(), min(), mean(), sd() o utilizar la función summary() para presentar datos descriptivos de todo el conjunto de datos.

max(datos$edades)
## [1] 65
min(datos$edades)
## [1] 18
mean(datos$edades)
## [1] 41.57816
sd(datos$edades)
## [1] 13.86342
summary(datos)
##            entidades         edades          pesos           alturas     
##  Baja California:10583   Min.   :18.00   Min.   : 40.00   Min.   :1.450  
##  Chihuahua      :10547   1st Qu.:30.00   1st Qu.: 60.00   1st Qu.:1.580  
##  Coahuila       :10295   Median :42.00   Median : 80.00   Median :1.720  
##  Durango        :10669   Mean   :41.58   Mean   : 80.16   Mean   :1.725  
##  Jalisco        :10516   3rd Qu.:54.00   3rd Qu.:100.00   3rd Qu.:1.860  
##  Nuevo León     :10390   Max.   :65.00   Max.   :120.00   Max.   :2.000  
##       generos     
##  Femenino :31494  
##  Masculino:31506  
##                   
##                   
##                   
## 

Histograma de edades

hist(datos$edades, main = "Histograma ", xlab = "Edades", ylab = "Frecuencia", breaks = 10)

Rango de edades de mayor y menor frecuencia

  • ¿Cual es el rango de edades de mayor y menor frecuencia?
tabla.frecuencia.edades <- fdt(datos$edades, start = 15, end = 65, h=5)
tabla.frecuencia.edades
##  Class limits    f   rf rf(%)    cf cf(%)
##       [15,20) 2573 0.04  4.08  2573  4.08
##       [20,25) 6629 0.11 10.52  9202 14.61
##       [25,30) 6531 0.10 10.37 15733 24.97
##       [30,35) 6439 0.10 10.22 22172 35.19
##       [35,40) 6453 0.10 10.24 28625 45.44
##       [40,45) 6524 0.10 10.36 35149 55.79
##       [45,50) 6596 0.10 10.47 41745 66.26
##       [50,55) 6758 0.11 10.73 48503 76.99
##       [55,60) 6620 0.11 10.51 55123 87.50
##       [60,65) 6565 0.10 10.42 61688 97.92

Rango de estaturas de mayor y menor frecuencia

tabla.frecuencia.estaturas <- fdt(datos$alturas)
tabla.frecuencia.estaturas
##   Class limits    f   rf rf(%)    cf  cf(%)
##   [1.435,1.47) 2231 0.04  3.54  2231   3.54
##   [1.47,1.504) 4536 0.07  7.20  6767  10.74
##  [1.504,1.539) 3373 0.05  5.35 10140  16.10
##  [1.539,1.573) 4502 0.07  7.15 14642  23.24
##  [1.573,1.607) 3373 0.05  5.35 18015  28.60
##  [1.607,1.642) 4573 0.07  7.26 22588  35.85
##  [1.642,1.676) 3388 0.05  5.38 25976  41.23
##  [1.676,1.711) 4382 0.07  6.96 30358  48.19
##  [1.711,1.745) 3438 0.05  5.46 33796  53.64
##  [1.745,1.779) 3365 0.05  5.34 37161  58.99
##  [1.779,1.814) 4523 0.07  7.18 41684  66.17
##  [1.814,1.848) 3414 0.05  5.42 45098  71.58
##  [1.848,1.882) 4471 0.07  7.10 49569  78.68
##  [1.882,1.917) 3423 0.05  5.43 52992  84.11
##  [1.917,1.951) 4424 0.07  7.02 57416  91.14
##  [1.951,1.986) 3307 0.05  5.25 60723  96.39
##   [1.986,2.02) 2277 0.04  3.61 63000 100.00

Rango de pesos de mayor y menor frecuencia

tabla.frecuencia.pesos <- fdt(datos$pesos)
tabla.frecuencia.pesos
##   Class limits    f   rf rf(%)    cf  cf(%)
##    [39.6,44.4) 3869 0.06  6.14  3869   6.14
##    [44.4,49.2) 3886 0.06  6.17  7755  12.31
##      [49.2,54) 3063 0.05  4.86 10818  17.17
##      [54,58.8) 3807 0.06  6.04 14625  23.21
##    [58.8,63.6) 3861 0.06  6.13 18486  29.34
##    [63.6,68.4) 3843 0.06  6.10 22329  35.44
##    [68.4,73.2) 3953 0.06  6.27 26282  41.72
##      [73.2,78) 3151 0.05  5.00 29433  46.72
##      [78,82.8) 3835 0.06  6.09 33268  52.81
##    [82.8,87.6) 3950 0.06  6.27 37218  59.08
##    [87.6,92.4) 3935 0.06  6.25 41153  65.32
##    [92.4,97.2) 3775 0.06  5.99 44928  71.31
##     [97.2,102) 3118 0.05  4.95 48046  76.26
##    [102,106.8) 3929 0.06  6.24 51975  82.50
##  [106.8,111.6) 3908 0.06  6.20 55883  88.70
##  [111.6,116.4) 3939 0.06  6.25 59822  94.96
##  [116.4,121.2) 3178 0.05  5.04 63000 100.00

Interpretación

Responder a las siguientes preguntas:

Referencias bibliográficas