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

  • La librería fdth permite generar tablas de frecuencias
library(fdth)

2. Crear conjunto de datos llamado 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("ALEJANDRO","JOSE","DANIELA","VIOLETA","EMMANUEL","JORGE","PABLO","CARLOS","LUIS","ROBERTO","MARIA","LUIS","EDUARDO","FERNANDO","ENRIQUE","DIEGO","ROSARIO","ALEX","CLAUDIA","VANESSA")
nombres <- sample(losnombres,100,replace = TRUE)
nombres
##   [1] "ALEX"      "EDUARDO"   "PABLO"     "ROSARIO"   "EMMANUEL"  "PABLO"    
##   [7] "VIOLETA"   "DANIELA"   "LUIS"      "ROSARIO"   "JOSE"      "CARLOS"   
##  [13] "LUIS"      "ROSARIO"   "JORGE"     "ENRIQUE"   "CARLOS"    "FERNANDO" 
##  [19] "JOSE"      "ALEX"      "ALEX"      "CLAUDIA"   "JOSE"      "ROBERTO"  
##  [25] "ROBERTO"   "VIOLETA"   "PABLO"     "CARLOS"    "CARLOS"    "VIOLETA"  
##  [31] "ROBERTO"   "JOSE"      "JORGE"     "MARIA"     "ENRIQUE"   "LUIS"     
##  [37] "JOSE"      "VANESSA"   "ENRIQUE"   "VANESSA"   "ENRIQUE"   "ALEJANDRO"
##  [43] "CARLOS"    "VANESSA"   "EDUARDO"   "VIOLETA"   "ROBERTO"   "ENRIQUE"  
##  [49] "MARIA"     "DANIELA"   "ROSARIO"   "ALEX"      "LUIS"      "VIOLETA"  
##  [55] "VANESSA"   "EDUARDO"   "CARLOS"    "PABLO"     "MARIA"     "ALEJANDRO"
##  [61] "VANESSA"   "VIOLETA"   "VIOLETA"   "LUIS"      "VANESSA"   "DIEGO"    
##  [67] "LUIS"      "ROBERTO"   "JOSE"      "FERNANDO"  "CARLOS"    "PABLO"    
##  [73] "MARIA"     "DANIELA"   "VIOLETA"   "CARLOS"    "CLAUDIA"   "DANIELA"  
##  [79] "PABLO"     "CARLOS"    "DANIELA"   "EDUARDO"   "VIOLETA"   "DANIELA"  
##  [85] "JOSE"      "EDUARDO"   "ALEJANDRO" "ENRIQUE"   "ROSARIO"   "ENRIQUE"  
##  [91] "ALEX"      "CARLOS"    "ROSARIO"   "ROSARIO"   "MARIA"     "MARIA"    
##  [97] "JOSE"      "VANESSA"   "JORGE"     "DIEGO"
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  ALEJANDRO    3
## 2       ALEX    5
## 3     CARLOS   10
## 4    CLAUDIA    2
## 5    DANIELA    6
## 6      DIEGO    2
## 7    EDUARDO    5
## 8   EMMANUEL    1
## 9    ENRIQUE    7
## 10  FERNANDO    2
## 11     JORGE    3
## 12      JOSE    8
## 13      LUIS    6
## 14     MARIA    6
## 15     PABLO    6
## 16   ROBERTO    5
## 17   ROSARIO    7
## 18   VANESSA    7
## 19   VIOLETA    9
  • 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.03 0.05 0.10 0.02 0.06 0.02 0.05 0.01 0.07 0.02 0.03 0.08 0.06 0.06 0.06
## [16] 0.05 0.07 0.07 0.09
  • c Determinar frecuencia porcentual
freq.p <- freq.r * 100
freq.p
##  [1]  3  5 10  2  6  2  5  1  7  2  3  8  6  6  6  5  7  7  9
  • 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  ALEJANDRO    3   0.03      3
## 2       ALEX    5   0.05      5
## 3     CARLOS   10   0.10     10
## 4    CLAUDIA    2   0.02      2
## 5    DANIELA    6   0.06      6
## 6      DIEGO    2   0.02      2
## 7    EDUARDO    5   0.05      5
## 8   EMMANUEL    1   0.01      1
## 9    ENRIQUE    7   0.07      7
## 10  FERNANDO    2   0.02      2
## 11     JORGE    3   0.03      3
## 12      JOSE    8   0.08      8
## 13      LUIS    6   0.06      6
## 14     MARIA    6   0.06      6
## 15     PABLO    6   0.06      6
## 16   ROBERTO    5   0.05      5
## 17   ROSARIO    7   0.07      7
## 18   VANESSA    7   0.07      7
## 19   VIOLETA    9   0.09      9
  1. 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     CARLOS   10   0.10     10        10            10
## 2    VIOLETA    9   0.09      9        19            19
## 3       JOSE    8   0.08      8        27            27
## 4    ENRIQUE    7   0.07      7        34            34
## 5    ROSARIO    7   0.07      7        41            41
## 6    VANESSA    7   0.07      7        48            48
## 7    DANIELA    6   0.06      6        54            54
## 8       LUIS    6   0.06      6        60            60
## 9      MARIA    6   0.06      6        66            66
## 10     PABLO    6   0.06      6        72            72
## 11      ALEX    5   0.05      5        77            77
## 12   EDUARDO    5   0.05      5        82            82
## 13   ROBERTO    5   0.05      5        87            87
## 14 ALEJANDRO    3   0.03      3        90            90
## 15     JORGE    3   0.03      3        93            93
## 16   CLAUDIA    2   0.02      2        95            95
## 17     DIEGO    2   0.02      2        97            97
## 18  FERNANDO    2   0.02      2        99            99
## 19  EMMANUEL    1   0.01      1       100           100
  1. 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    2
## 2      16    6
## 3      17    5
## 4      18    1
## 5      19    3
## 6      20    4
## 7      21    3
## 8      22    2
## 9      23    2
## 10     24    4
## 11     25    2
## 12     26    2
## 13     28    4
## 14     29    1
## 15     30    2
## 16     31    4
## 17     32    2
## 18     33    5
## 19     35    1
## 20     36    3
## 21     37    2
## 22     38    4
## 23     39    2
## 24     40    3
## 25     42    3
## 26     43    3
## 27     45    3
## 28     46    2
## 29     48    2
## 30     49    1
## 31     52    4
## 32     53    4
## 33     54    2
## 34     55    1
## 35     57    4
## 36     59    1
## 37     60    1
  1. 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.57)   21   0.21     21        21            21
## 2 [20.57,26.29)   15   0.15     15        36            36
## 3 [26.29,32.01)   13   0.13     13        49            49
## 4 [32.01,37.73)   11   0.11     11        60            60
## 5 [37.73,43.44)   15   0.15     15        75            75
## 6 [43.44,49.16)    8   0.08      8        83            83
## 7 [49.16,54.88)   10   0.10     10        93            93
## 8  [54.88,60.6)    7   0.07      7       100           100
  1. 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   53   0.53     53        53            53
## 2 Masculino   47   0.47     47       100           100
  1. 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          NATACIÓN   14   0.14     14        14            14
## 2           AJEDREZ   13   0.13     13        27            27
## 3        BASQUETBOL   12   0.12     12        39            39
## 4         ATLETISMO   10   0.10     10        49            49
## 5             TENIS   10   0.10     10        59            59
## 6               BOX    9   0.09      9        68            68
## 7  FUTBOL AMERICANO    8   0.08      8        76            76
## 8           BEISBOL    7   0.07      7        83            83
## 9            KARATE    7   0.07      7        90            90
## 10           FUTBOL    5   0.05      5        95            95
## 11         VOLEIBOL    5   0.05      5       100           100
  1. 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. Describir el CASO 2

Deacuerdo al caso y la tabla de EDADES refleja que hay muchas personas en la edad de 23 y 42 años.

En la tabla de NOMBRES, salio que muchas personas se llaman Luis (10) y Pablo (11)