CASO 2. Tablas de Frecuencias

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, edad y deporte favorito de cada persona. Una vez construido elconjunto de datos elaborar tablas de frecuencias de los nombres, géneros (sexo) ydeporte favorito; de igual forma determinar la tabla de frecuencia de las edades de las personas.

1. Cargar librerías fdth

  • Crear una semilla
set.seed(2020)

*La librería fdth permite generar tablas de frecuencias

library(fdth)

2. Crear el conjunto de datos llamados personas

  1. Crear 100 nombres a partir de 20 nombres (nombres)
  2. Crear aleatorio el género entre Femenino y Masculino (generos)
  3. Crear la edad aleatorio entre 15 y 60 (edades)
  4. Crear el deporte favorito de cada persona aleatorio entre 10 (deportes)
losnombres <- c("ALAN", "ALICIA", "MARCOS", "SEBASTIAN", "TOMAS", "KEVIN", 
"AXEL", "BRAYAN", "JOAN", "JHONNY", "ALMA", "RUBY", "YENIFER", "MANUEL", "NOE", "URIEL", "DIEGO", "JOVANA", "EVELYN", "KARLA")
nombres <- sample(losnombres,100,replace = TRUE)
nombres
##   [1] "RUBY"      "ALAN"      "DIEGO"     "SEBASTIAN" "JHONNY"    "KEVIN"    
##   [7] "DIEGO"     "YENIFER"   "BRAYAN"    "JHONNY"    "JOVANA"    "URIEL"    
##  [13] "ALICIA"    "URIEL"     "MARCOS"    "ALICIA"    "BRAYAN"    "SEBASTIAN"
##  [19] "JOVANA"    "MANUEL"    "MANUEL"    "RUBY"      "URIEL"     "NOE"      
##  [25] "MANUEL"    "AXEL"      "KARLA"     "JOVANA"    "KARLA"     "KARLA"    
##  [31] "URIEL"     "RUBY"      "JOVANA"    "JHONNY"    "KEVIN"     "NOE"      
##  [37] "ALMA"      "YENIFER"   "YENIFER"   "YENIFER"   "ALICIA"    "URIEL"    
##  [43] "YENIFER"   "ALAN"      "KEVIN"     "MARCOS"    "YENIFER"   "ALMA"     
##  [49] "TOMAS"     "ALMA"      "KEVIN"     "ALICIA"    "MARCOS"    "JOVANA"   
##  [55] "ALAN"      "AXEL"      "BRAYAN"    "YENIFER"   "ALICIA"    "TOMAS"    
##  [61] "SEBASTIAN" "EVELYN"    "URIEL"     "SEBASTIAN" "KARLA"     "JOVANA"   
##  [67] "JHONNY"    "ALAN"      "NOE"       "JOAN"      "URIEL"     "KEVIN"    
##  [73] "JHONNY"    "ALAN"      "ALAN"      "DIEGO"     "BRAYAN"    "NOE"      
##  [79] "RUBY"      "JOVANA"    "YENIFER"   "TOMAS"     "URIEL"     "KARLA"    
##  [85] "KARLA"     "KARLA"     "MANUEL"    "YENIFER"   "DIEGO"     "YENIFER"  
##  [91] "AXEL"      "JOAN"      "BRAYAN"    "MARCOS"    "MARCOS"    "ALICIA"   
##  [97] "YENIFER"   "BRAYAN"    "SEBASTIAN" "AXEL"
generos <- sample(c("Femenino","Masculino"), 100, replace = TRUE)

edades <- sample(15:60, 100 ,replace = TRUE)

misdeportes <- c("FUTBOL","BASQUETBOL","TENIS","BEISBOL","NATACIÓN","BOX","AJEDREZ","KARATE","ATLETISMO","FUTBOL AMERICANO","VOLEIBOL")
deportes <- sample(misdeportes, 100, replace = TRUE)

personal <- data.frame(nombres,generos,edades,deportes)

3. Crear tabla de frecuencias con table() de la variable nombres

La variable de interés es nombres Table() genera la frecuencia de cada elemento transform transforma … significa renglones columnas con data.frame se consrtuye un data.frame *con names() se modifica los nombres de variables de un data.name

#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       ALAN    6
## 2     ALICIA    6
## 3       ALMA    3
## 4       AXEL    4
## 5     BRAYAN    6
## 6      DIEGO    4
## 7     EVELYN    1
## 8     JHONNY    5
## 9       JOAN    2
## 10    JOVANA    7
## 11     KARLA    7
## 12     KEVIN    5
## 13    MANUEL    4
## 14    MARCOS    5
## 15       NOE    4
## 16      RUBY    4
## 17 SEBASTIAN    5
## 18     TOMAS    3
## 19     URIEL    8
## 20   YENIFER   11
  • Total de elementos N
N <- nrow(personal)
N
## [1] 100
  • b Determinar frecuencia relvativa
freq.r <- tabla_frec.nombres$freq / N
freq.r
##  [1] 0.06 0.06 0.03 0.04 0.06 0.04 0.01 0.05 0.02 0.07 0.07 0.05 0.04 0.05 0.04
## [16] 0.04 0.05 0.03 0.08 0.11
  • c Determinar frecuencia porcentual
freq.p <- freq.r * 100
freq.p
##  [1]  6  6  3  4  6  4  1  5  2  7  7  5  4  5  4  4  5  3  8 11
  • Construyendo tabla de Distribucion
tabla_frec.nombres <- cbind(tabla_frec.nombres, freq.r, freq.p)
tabla_frec.nombres
##      nombres freq freq.r freq.p
## 1       ALAN    6   0.06      6
## 2     ALICIA    6   0.06      6
## 3       ALMA    3   0.03      3
## 4       AXEL    4   0.04      4
## 5     BRAYAN    6   0.06      6
## 6      DIEGO    4   0.04      4
## 7     EVELYN    1   0.01      1
## 8     JHONNY    5   0.05      5
## 9       JOAN    2   0.02      2
## 10    JOVANA    7   0.07      7
## 11     KARLA    7   0.07      7
## 12     KEVIN    5   0.05      5
## 13    MANUEL    4   0.04      4
## 14    MARCOS    5   0.05      5
## 15       NOE    4   0.04      4
## 16      RUBY    4   0.04      4
## 17 SEBASTIAN    5   0.05      5
## 18     TOMAS    3   0.03      3
## 19     URIEL    8   0.08      8
## 20   YENIFER   11   0.11     11

4. Crear tabla de frecuencias con fdt_cat() de la variable nombres

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    YENIFER   11   0.11     11        11            11
## 2      URIEL    8   0.08      8        19            19
## 3     JOVANA    7   0.07      7        26            26
## 4      KARLA    7   0.07      7        33            33
## 5       ALAN    6   0.06      6        39            39
## 6     ALICIA    6   0.06      6        45            45
## 7     BRAYAN    6   0.06      6        51            51
## 8     JHONNY    5   0.05      5        56            56
## 9      KEVIN    5   0.05      5        61            61
## 10    MARCOS    5   0.05      5        66            66
## 11 SEBASTIAN    5   0.05      5        71            71
## 12      AXEL    4   0.04      4        75            75
## 13     DIEGO    4   0.04      4        79            79
## 14    MANUEL    4   0.04      4        83            83
## 15       NOE    4   0.04      4        87            87
## 16      RUBY    4   0.04      4        91            91
## 17      ALMA    3   0.03      3        94            94
## 18     TOMAS    3   0.03      3        97            97
## 19      JOAN    2   0.02      2        99            99
## 20    EVELYN    1   0.01      1       100           100

5. Visualizer 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(personal$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(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

8. Crear tabla de Frecuencias con fdt() de la variable EDADES

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

9. Visualizar tabla de frecuencias de EDADES (BARRA)

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(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

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(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               BOX   12   0.12     12        12            12
## 2          NATACIÓN   12   0.12     12        24            24
## 3             TENIS   12   0.12     12        36            36
## 4           AJEDREZ   11   0.11     11        47            47
## 5           BEISBOL   10   0.10     10        57            57
## 6  FUTBOL AMERICANO    9   0.09      9        66            66
## 7            KARATE    9   0.09      9        75            75
## 8            FUTBOL    7   0.07      7        82            82
## 9          VOLEIBOL    7   0.07      7        89            89
## 10       BASQUETBOL    6   0.06      6        95            95
## 11        ATLETISMO    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. Descripcion del CASO 2

En base a la creacion de un conjunto de personas se permitio obtener 100 registros que se utilizaron para hacer tablas de frecuencias las cuales dieron diferentes resultados dependiendo de la repeticion de registros, siendo el caso de la tabla nombres la cual se dio el caso de que la mayoria de personas se llamaban “Yenifer” y “Uriel” y tambien con la tabla de edades que en base a los resultados obtenidos la mayoria de las personas tiene la edad de “33” y “59”, anque tambien dio a conocer que la mayor parte de las personas son “mujeres” con el “55%”, a la vez que se conocio que los deportes favoritos de las personas es el “Box”,“Natacion”,“Tennis”