Caso 2: Tabla de Frecuencias

Objetivo:

Generar tablas de frecuencias con un conjunto de datos de 100 registros

Descripcion:

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.

Paso 1: Cargar una libreria fdth.

library(fdth)

Paso 2: Crear conjunto de datos llamado personas.

Sembrar una semilla:
set.seed(2022) 
losnombres <- c("Daniel" , "Asuna" ,  "Sinon" , "Oscar" , "Eugeo", "Edgar", "Gustavo","Karla", "Ivan", "Paquito", "Coco", "Zoey Hatzel", "Norma" , "Alice", "Andrea", "Ezio" , "Bercouli", "Anilu", "Cecilia", "Yazmin", "Aayla Secura")

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



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


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


losdeportes <- c("Futbol", "Beisbol" , "Tenis", "Karate", "Natacion" , "Americano" , "Rugby" , "Atletismo")
deportes <- sample(losdeportes, 100, replace = TRUE)


personal <- data.frame(nombres, generos, edades, deportes)
personal
##          nombres   generos edades  deportes
## 1          Oscar  Femenino     31    Karate
## 2        Cecilia Masculino     33     Rugby
## 3          Alice  Femenino     15     Rugby
## 4           Coco  Femenino     41     Rugby
## 5          Oscar  Femenino     58 Americano
## 6          Edgar  Femenino     28 Americano
## 7          Alice Masculino     46  Natacion
## 8           Ivan  Femenino     22 Atletismo
## 9          Alice Masculino     46 Americano
## 10       Gustavo Masculino     53  Natacion
## 11         Anilu  Femenino     29  Natacion
## 12          Ezio Masculino     16 Atletismo
## 13         Eugeo  Femenino     52    Karate
## 14        Daniel  Femenino     52 Atletismo
## 15       Cecilia  Femenino     23    Karate
## 16        Daniel Masculino     56   Beisbol
## 17         Asuna Masculino     45     Rugby
## 18       Gustavo Masculino     37 Atletismo
## 19   Zoey Hatzel  Femenino     25    Karate
## 20        Andrea Masculino     44  Natacion
## 21   Zoey Hatzel  Femenino     32     Rugby
## 22         Edgar Masculino     24    Futbol
## 23       Gustavo Masculino     41   Beisbol
## 24         Eugeo  Femenino     29    Futbol
## 25          Coco Masculino     18     Tenis
## 26          Coco  Femenino     27     Rugby
## 27        Yazmin  Femenino     35   Beisbol
## 28         Karla Masculino     41 Americano
## 29         Sinon Masculino     34  Natacion
## 30         Oscar  Femenino     30 Atletismo
## 31         Asuna Masculino     20   Beisbol
## 32         Asuna  Femenino     47 Atletismo
## 33         Karla  Femenino     50     Tenis
## 34         Norma  Femenino     54     Tenis
## 35       Paquito  Femenino     28     Rugby
## 36       Gustavo Masculino     31     Rugby
## 37        Daniel Masculino     44   Beisbol
## 38       Cecilia  Femenino     55     Tenis
## 39        Daniel Masculino     27  Natacion
## 40       Cecilia Masculino     52    Futbol
## 41  Aayla Secura Masculino     24     Tenis
## 42         Anilu Masculino     42     Tenis
## 43          Ivan  Femenino     30    Futbol
## 44          Ivan Masculino     30     Rugby
## 45         Sinon  Femenino     49    Futbol
## 46        Yazmin  Femenino     51   Beisbol
## 47       Paquito  Femenino     40     Tenis
## 48        Daniel  Femenino     24 Americano
## 49         Sinon Masculino     17 Atletismo
## 50        Yazmin  Femenino     16    Futbol
## 51          Ezio  Femenino     15     Rugby
## 52   Zoey Hatzel  Femenino     60     Rugby
## 53         Eugeo  Femenino     37    Futbol
## 54          Ezio Masculino     59     Tenis
## 55       Paquito  Femenino     43     Tenis
## 56       Cecilia Masculino     28    Futbol
## 57         Asuna  Femenino     58 Atletismo
## 58      Bercouli  Femenino     45    Futbol
## 59   Zoey Hatzel  Femenino     30    Karate
## 60        Andrea  Femenino     42     Tenis
## 61         Anilu  Femenino     43 Atletismo
## 62         Eugeo Masculino     57 Atletismo
## 63         Norma  Femenino     49 Americano
## 64         Alice Masculino     51  Natacion
## 65         Edgar  Femenino     50     Rugby
## 66        Daniel Masculino     56    Futbol
## 67       Paquito Masculino     28     Rugby
## 68         Karla  Femenino     32 Atletismo
## 69         Karla Masculino     21     Tenis
## 70        Andrea Masculino     34     Rugby
## 71        Daniel  Femenino     56     Tenis
## 72   Zoey Hatzel Masculino     47     Tenis
## 73         Alice Masculino     22     Tenis
## 74          Coco  Femenino     53 Americano
## 75          Ivan Masculino     24   Beisbol
## 76         Sinon Masculino     56    Karate
## 77         Sinon  Femenino     45 Americano
## 78        Yazmin  Femenino     39    Futbol
## 79         Sinon  Femenino     53  Natacion
## 80        Andrea  Femenino     23     Tenis
## 81         Edgar  Femenino     22     Tenis
## 82   Zoey Hatzel Masculino     20    Karate
## 83          Ezio Masculino     15   Beisbol
## 84         Asuna  Femenino     53   Beisbol
## 85  Aayla Secura Masculino     32 Atletismo
## 86      Bercouli  Femenino     46   Beisbol
## 87         Karla  Femenino     46 Americano
## 88          Ezio Masculino     38    Futbol
## 89      Bercouli  Femenino     20 Atletismo
## 90          Ezio Masculino     39     Rugby
## 91         Anilu Masculino     30    Karate
## 92  Aayla Secura Masculino     53   Beisbol
## 93        Andrea  Femenino     22 Atletismo
## 94        Daniel  Femenino     17    Futbol
## 95         Anilu  Femenino     35 Americano
## 96  Aayla Secura  Femenino     30     Rugby
## 97         Karla  Femenino     53 Atletismo
## 98      Bercouli  Femenino     56     Rugby
## 99         Norma Masculino     53  Natacion
## 100         Ivan  Femenino     57    Futbol

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

Total de elementos N
N <- nrow(personal)
N
## [1] 100
  • Determinar frecuencia absoluta
tabla_frec.nombres <- data.frame(transform(table(personal$nombres)))
names(tabla_frec.nombres) <- c("Nombres", "Frecuencia.Abso") 
tabla_frec.nombres
##         Nombres Frecuencia.Abso
## 1  Aayla Secura               4
## 2         Alice               5
## 3        Andrea               5
## 4         Anilu               5
## 5         Asuna               5
## 6      Bercouli               4
## 7       Cecilia               5
## 8          Coco               4
## 9        Daniel               8
## 10        Edgar               4
## 11        Eugeo               4
## 12         Ezio               6
## 13      Gustavo               4
## 14         Ivan               5
## 15        Karla               6
## 16        Norma               3
## 17        Oscar               3
## 18      Paquito               4
## 19        Sinon               6
## 20       Yazmin               4
## 21  Zoey Hatzel               6
  • Determinar frecuencia relativa
Freq.relativa <- tabla_frec.nombres$Frecuencia / N

Freq.relativa
##  [1] 0.04 0.05 0.05 0.05 0.05 0.04 0.05 0.04 0.08 0.04 0.04 0.06 0.04 0.05 0.06
## [16] 0.03 0.03 0.04 0.06 0.04 0.06
  • Determinar frecuencia porcentual
Freq.Porcentual <- Freq.relativa * 100
Freq.Porcentual
##  [1] 4 5 5 5 5 4 5 4 8 4 4 6 4 5 6 3 3 4 6 4 6
  • Construyendo tabla de distribucion
tabla_frec.nombres <- cbind(tabla_frec.nombres, Freq.relativa, Freq.Porcentual)

tabla_frec.nombres
##         Nombres Frecuencia.Abso Freq.relativa Freq.Porcentual
## 1  Aayla Secura               4          0.04               4
## 2         Alice               5          0.05               5
## 3        Andrea               5          0.05               5
## 4         Anilu               5          0.05               5
## 5         Asuna               5          0.05               5
## 6      Bercouli               4          0.04               4
## 7       Cecilia               5          0.05               5
## 8          Coco               4          0.04               4
## 9        Daniel               8          0.08               8
## 10        Edgar               4          0.04               4
## 11        Eugeo               4          0.04               4
## 12         Ezio               6          0.06               6
## 13      Gustavo               4          0.04               4
## 14         Ivan               5          0.05               5
## 15        Karla               6          0.06               6
## 16        Norma               3          0.03               3
## 17        Oscar               3          0.03               3
## 18      Paquito               4          0.04               4
## 19        Sinon               6          0.06               6
## 20       Yazmin               4          0.04               4
## 21  Zoey Hatzel               6          0.06               6

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

  • Determinar frecuencia absoluta
  • Determinar frecuencia relativa
  • Determinar frecuencia porcentual
  • Determinar frecuencia acumulada
  • Determinar frecuencia porcentual acumulada
tabla_frec.nombres.2 <- data.frame(fdt_cat(personal$nombres))
names(tabla_frec.nombres.2) <- c("nombres", "Freq Abso.", "Freq Rela.", "Freq Porce.", "Freq Acum.", "Freq Porce.Acum")
tabla_frec.nombres.2
##         nombres Freq Abso. Freq Rela. Freq Porce. Freq Acum. Freq Porce.Acum
## 1        Daniel          8       0.08           8          8               8
## 2          Ezio          6       0.06           6         14              14
## 3         Karla          6       0.06           6         20              20
## 4         Sinon          6       0.06           6         26              26
## 5   Zoey Hatzel          6       0.06           6         32              32
## 6         Alice          5       0.05           5         37              37
## 7        Andrea          5       0.05           5         42              42
## 8         Anilu          5       0.05           5         47              47
## 9         Asuna          5       0.05           5         52              52
## 10      Cecilia          5       0.05           5         57              57
## 11         Ivan          5       0.05           5         62              62
## 12 Aayla Secura          4       0.04           4         66              66
## 13     Bercouli          4       0.04           4         70              70
## 14         Coco          4       0.04           4         74              74
## 15        Edgar          4       0.04           4         78              78
## 16        Eugeo          4       0.04           4         82              82
## 17      Gustavo          4       0.04           4         86              86
## 18      Paquito          4       0.04           4         90              90
## 19       Yazmin          4       0.04           4         94              94
## 20        Norma          3       0.03           3         97              97
## 21        Oscar          3       0.03           3        100             100

Paso 5: Visualizar tabla de frecuencias de nombres (Barra).

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

Paso 6: Visualizar un histograma de la variable edades

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

Paso 7: Crear tabla de frecuencias con table() de la variable edades

tabla.frec.edades <- data.frame(transform(table(personal$edades)))
names(tabla.frec.edades) <- c("edades", "Frecuencia")

barplot(height = tabla.frec.edades$Frecuencia, names.arg = tabla.frec.edades$edades,main = "Frecuencias de Edades",xlab = "Edades", ylab = "Frecuencias")

Paso 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', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acumu') 
tabla.frec.edades_2
##          clases Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1 [14.85,20.57)         11            0.11               11              11
## 2 [20.57,26.29)         12            0.12               12              23
## 3 [26.29,32.01)         19            0.19               19              42
## 4 [32.01,37.73)          7            0.07                7              49
## 5 [37.73,43.44)         11            0.11               11              60
## 6 [43.44,49.16)         13            0.13               13              73
## 7 [49.16,54.88)         15            0.15               15              88
## 8  [54.88,60.6)         12            0.12               12             100
##   Frecuencia.Porce.Acumu
## 1                     11
## 2                     23
## 3                     42
## 4                     49
## 5                     60
## 6                     73
## 7                     88
## 8                    100

Paso 9: Visualizar tabla de frecuencias de edades (Barra).

barplot(height = tabla.frec.edades_2$Frecuencia, 
        names.arg = tabla.frec.edades_2$clases,
        main = "Frecuencias de Clases",
        xlab = "Clases de edades", ylab = "Frecuencias")

Paso 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', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acum')
tabla_frec.genero
##     generos Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1  Femenino         57            0.57               57              57
## 2 Masculino         43            0.43               43             100
##   Frecuencia.Porce.Acum
## 1                    57
## 2                   100

Paso 11: Visualizar tabla de frecuencias de generos (Barra).

barplot(height = tabla_frec.genero$Frecuencia, 
        names.arg = tabla_frec.genero$generos,
        main = "Frecuencias de Géneros",
        xlab = "Géneros", ylab = "Frecuencias")

Grafica de pastel:

pie(x = tabla_frec.genero$Frecuencia, 
    labels = tabla_frec.genero$generos,
    col = c(120,100))

Paso 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', 'Frecuencia', 'Frecuencia.Rela', 'Frecuencia.Porce', 'Frecuencia.Acum', 'Frecuencia.Porce.Acum')
tabla_frec.deporte
##    deportes Frecuencia Frecuencia.Rela Frecuencia.Porce Frecuencia.Acum
## 1     Rugby         17            0.17               17              17
## 2     Tenis         16            0.16               16              33
## 3 Atletismo         15            0.15               15              48
## 4    Futbol         14            0.14               14              62
## 5   Beisbol         11            0.11               11              73
## 6 Americano         10            0.10               10              83
## 7  Natacion          9            0.09                9              92
## 8    Karate          8            0.08                8             100
##   Frecuencia.Porce.Acum
## 1                    17
## 2                    33
## 3                    48
## 4                    62
## 5                    73
## 6                    83
## 7                    92
## 8                   100

PAso 13: Visualizar tabla de frecuencias de deportes (Barra).

barplot(height = tabla_frec.deporte$Frecuencia, 
        names.arg = tabla_frec.deporte$deportes,
        main = "Frecuencias de deportes",
        xlab = "Deportes", ylab = "Frecuencias")

Grafica de pastel de Deportes:
pie(x = tabla_frec.deporte$Frecuencia, 
    labels = tabla_frec.deporte$deportes,
    col = rainbow(length(tabla_frec.deporte$deportes)))

Paso 14: Describir el caso. Por medio de 80 a 100 palabras describir el CASO 2

Descripcion:

En el caso 2, se generaron los datos aleatoriamente y cuantos datos quieres que se generen y lo que se genero aleatoriamente fue el (Nombre, Edad y el sexo) tambien se aprendio a crear tablas y algunas grafica de pastel.

En la grafica de deportes se puede observar que la que predomina en el primer puesto es el Rugby despues tenis y asi.

En la grafica de barras y en la de pastel se puede ver claramente que las mujeres dominan en genero.

y en edades las que dominan son la gente entre (25 y 30) a