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

Cargamos librerias fdth

##install.packages("fdth")
library(fdth)
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
## 
##     sd, var

Crear conjunto de datos llamado personas

*Sembrar una semila set.seed()

set.seed(8)

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("Vanessa", "Rebeca", "Melissa", "Michelle", "Gorety", "Victoria", "Ashley", "Abigail", "Andrea", "Viridiana", "Cristian", "Ernesto", "Oscar", "David", "Jarold", "Lucas", "Patricio", "Ricardo", "Acxel", "Armando")

nombres <- sample(losnombres, 100, replace = TRUE)

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

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

misdeportes <- c("Basquetball", "Futbol Soccer", "Bolley Ball", "Tennis", "Golf", "Natacion", "Futbol Americano", "Atletismo", "Ping Pong", "Beisball")

deportes <- sample(misdeportes, 100, replace = TRUE)

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

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

Determinar frecuencia absoluta Determinar frecuencia relativa *Determinar frecuencia porcentual

tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <- c('nombres', 'freq') 
tabla_frec.nombres
##      nombres freq
## 1    Abigail    5
## 2      Acxel    5
## 3     Andrea    5
## 4    Armando    8
## 5     Ashley    6
## 6   Cristian    3
## 7      David    2
## 8    Ernesto   10
## 9     Gorety    2
## 10    Jarold    4
## 11     Lucas    6
## 12   Melissa    5
## 13  Michelle    5
## 14     Oscar    4
## 15  Patricio    2
## 16    Rebeca    6
## 17   Ricardo    6
## 18   Vanessa    4
## 19  Victoria    8
## 20 Viridiana    4
N <- nrow(personal)
N
## [1] 100
freq.r <- tabla_frec.nombres$freq / N
freq.r
##  [1] 0.05 0.05 0.05 0.08 0.06 0.03 0.02 0.10 0.02 0.04 0.06 0.05 0.05 0.04 0.02
## [16] 0.06 0.06 0.04 0.08 0.04
freq.p <- freq.r * 100
freq.p
##  [1]  5  5  5  8  6  3  2 10  2  4  6  5  5  4  2  6  6  4  8  4
tabla_frec.nombres <- cbind(tabla_frec.nombres, freq.r, freq.p)
tabla_frec.nombres
##      nombres freq freq.r freq.p
## 1    Abigail    5   0.05      5
## 2      Acxel    5   0.05      5
## 3     Andrea    5   0.05      5
## 4    Armando    8   0.08      8
## 5     Ashley    6   0.06      6
## 6   Cristian    3   0.03      3
## 7      David    2   0.02      2
## 8    Ernesto   10   0.10     10
## 9     Gorety    2   0.02      2
## 10    Jarold    4   0.04      4
## 11     Lucas    6   0.06      6
## 12   Melissa    5   0.05      5
## 13  Michelle    5   0.05      5
## 14     Oscar    4   0.04      4
## 15  Patricio    2   0.02      2
## 16    Rebeca    6   0.06      6
## 17   Ricardo    6   0.06      6
## 18   Vanessa    4   0.04      4
## 19  Victoria    8   0.08      8
## 20 Viridiana    4   0.04      4

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

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    Ernesto   10   0.10     10        10            10
## 2    Armando    8   0.08      8        18            18
## 3   Victoria    8   0.08      8        26            26
## 4     Ashley    6   0.06      6        32            32
## 5      Lucas    6   0.06      6        38            38
## 6     Rebeca    6   0.06      6        44            44
## 7    Ricardo    6   0.06      6        50            50
## 8    Abigail    5   0.05      5        55            55
## 9      Acxel    5   0.05      5        60            60
## 10    Andrea    5   0.05      5        65            65
## 11   Melissa    5   0.05      5        70            70
## 12  Michelle    5   0.05      5        75            75
## 13    Jarold    4   0.04      4        79            79
## 14     Oscar    4   0.04      4        83            83
## 15   Vanessa    4   0.04      4        87            87
## 16 Viridiana    4   0.04      4        91            91
## 17  Cristian    3   0.03      3        94            94
## 18     David    2   0.02      2        96            96
## 19    Gorety    2   0.02      2        98            98
## 20  Patricio    2   0.02      2       100           100

Visualizar tabla de frecuencias de nombres (Barra)

barplot(height = tabla_frec.nombres.2$freq, names.arg = tabla_frec.nombres.2$nombres)

#### Visualizar un histograma de la variable edades

hist(personal$edades, main = "Frecuencia de edades", xlab = "Edades", ylab = "Frecuencias")

#### 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)))

names(tabla.frec.edades) <- c("edades", "freq")
tabla.frec.edades
##    edades freq
## 1      15    2
## 2      16    4
## 3      17    2
## 4      18    3
## 5      19    2
## 6      20    1
## 7      21    1
## 8      22    2
## 9      23    3
## 10     24    3
## 11     25    2
## 12     26    4
## 13     27    2
## 14     28    2
## 15     29    2
## 16     30    3
## 17     31    2
## 18     32    4
## 19     34    1
## 20     35    2
## 21     36    4
## 22     38    2
## 23     40    1
## 24     41    4
## 25     42    1
## 26     43    1
## 27     44    1
## 28     45    3
## 29     46    2
## 30     47    3
## 31     48    6
## 32     49    3
## 33     50    3
## 34     51    3
## 35     52    2
## 36     53    1
## 37     54    1
## 38     55    3
## 39     56    2
## 40     57    1
## 41     58    5
## 42     59    1

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")

#### Crear tabla de frecuencias con fdt() de la variable edades Determinar frecuencia absoluta Determinar frecuencia relativa Determinar frecuencia porcentual Determinar frecuencia acumulada *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)   14   0.14     14        14            14
## 2 [20.442,26.035)   15   0.15     15        29            29
## 3 [26.035,31.627)   11   0.11     11        40            40
## 4  [31.627,37.22)   11   0.11     11        51            51
## 5  [37.22,42.812)    8   0.08      8        59            59
## 6 [42.812,48.405)   16   0.16     16        75            75
## 7 [48.405,53.998)   12   0.12     12        87            87
## 8  [53.998,59.59)   13   0.13     13       100           100

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")

#### Crear tabla de frecuencias con fdt_cat() de la variable genero Determinar frecuencia absoluta Determinar frecuencia relativa Determinar frecuencia porcentual Determinar frecuencia acumulada *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   51   0.51     51        51            51
## 2 Masculino   49   0.49     49       100           100

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")

#### Crear tabla de frecuencias con fdt_cat() de a variable deportes Determinar frecuencia absoluta Determinar frecuencia relativa Determinar frecuencia porcentual Determinar frecuencia acumulada *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         Atletismo   14   0.14     14        14            14
## 2     Futbol Soccer   13   0.13     13        27            27
## 3          Beisball   12   0.12     12        39            39
## 4       Bolley Ball   12   0.12     12        51            51
## 5              Golf   11   0.11     11        62            62
## 6         Ping Pong   11   0.11     11        73            73
## 7            Tennis   10   0.10     10        83            83
## 8  Futbol Americano    8   0.08      8        91            91
## 9       Basquetball    5   0.05      5        96            96
## 10         Natacion    4   0.04      4       100           100

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")

#### Describir el caso. Por medio de 80 a 100 palabras describir el CASO 2 En conclusión, como podemos apreciar las tablas y graficas nos permiten apreciar de mejor manera los datos, podemos tener una mejor interpretación con la cual podemos llegar a distintos puntos de vista de observaciones. En este caso en específico podemos sacar a simple vista cuales son los nombres, géneros, e incluso los deportes más frecuentes en nuestra fuente de datos. Pudimos llevar de una manera más completa el manejo de fórmulas de frecuencia, dando un gran paso para un mejor manejo de datos.