CASO 2

Tabla de Frecuencia

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 (género de sexo), 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 la librería fdth()

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

library(fdth)

PASO 2. Crearé un conjunto de datos y le daré el nombre de personas

a) Vamos a crear 10 nombres a partir de 20 nombres

b) Para que sus nombres aleatorios sen los mismos

c) vamos a plantar una semilla set.seed()

set.seed(100) #Número que tú prefieras

• El género será aleatorio entre Masculino y Femenino

• Edad aleatoria entre 15 y 60 años

• Generamos su deporte favorito entre 10 tipos de deportes

MisNombres=c("Lia","Mia","Sam","Leo","Carol","Gaby","Sebas","Luis","Mari",
             "Ana","Tod","Fer","Luci","Ema","Pedro","Juan","Luisa","Juli","Ceci","Myri")

nombres=sample(MisNombres, 100, replace = TRUE)

nombres
##   [1] "Ana"   "Gaby"  "Juan"  "Ceci"  "Ema"   "Fer"   "Gaby"  "Leo"   "Gaby" 
##  [10] "Mia"   "Sebas" "Sebas" "Tod"   "Juli"  "Fer"   "Sam"   "Ceci"  "Luis" 
##  [19] "Juli"  "Mia"   "Ceci"  "Leo"   "Leo"   "Myri"  "Juan"  "Sebas" "Juan" 
##  [28] "Tod"   "Myri"  "Mia"   "Gaby"  "Luci"  "Lia"   "Mari"  "Mari"  "Mari" 
##  [37] "Tod"   "Sebas" "Lia"   "Mari"  "Gaby"  "Myri"  "Ema"   "Tod"   "Luci" 
##  [46] "Ema"   "Sam"   "Ema"   "Leo"   "Ceci"  "Ceci"  "Ema"   "Myri"  "Ema"  
##  [55] "Carol" "Pedro" "Pedro" "Leo"   "Fer"   "Ceci"  "Juan"  "Juli"  "Sam"  
##  [64] "Carol" "Fer"   "Myri"  "Ana"   "Pedro" "Ana"   "Fer"   "Carol" "Ana"  
##  [73] "Sebas" "Fer"   "Mari"  "Tod"   "Tod"   "Sam"   "Mari"  "Juan"  "Juan" 
##  [82] "Carol" "Juli"  "Luis"  "Luis"  "Mia"   "Ceci"  "Fer"   "Carol" "Ema"  
##  [91] "Luis"  "Pedro" "Luisa" "Fer"   "Luis"  "Ana"   "Sam"   "Gaby"  "Juan" 
## [100] "Gaby"
genero= sample(c("Femenino", "Masculino"), 100, replace=TRUE)

edad=sample(15:60,100, replace = TRUE)

MisDeportes= c("FUTBOL", "TENIS","NATACION","AJEDREZ",
            "BASQUETBOL","ATLETISMO","NATACIÓN","KARATE","BEISBOL","AMERICANO")

deportes=sample(MisDeportes,100,replace=TRUE)

personal= data.frame(nombres,genero,edad,deportes)

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

La variable de interés es nombres

• table() genera la frecuencia de cada elemento

• transform() tramsforma… significa renglones-columnas

• con names() cambiamos el nombre de las columnas de la tabla

La fórmula de freuencia es la siguiente=

\(F= Casos/n\)

#table(personal$nombres)
#transform(table(personal$nombres))

TablaFrecNombres = data.frame(transform(table(personal$nombres)))

names(TablaFrecNombres) = c("Nombres", "Frecuencia")
TablaFrecNombres
##    Nombres Frecuencia
## 1      Ana          5
## 2    Carol          5
## 3     Ceci          7
## 4      Ema          7
## 5      Fer          8
## 6     Gaby          7
## 7     Juan          7
## 8     Juli          4
## 9      Leo          5
## 10     Lia          2
## 11    Luci          2
## 12    Luis          5
## 13   Luisa          1
## 14    Mari          6
## 15     Mia          4
## 16    Myri          5
## 17   Pedro          4
## 18     Sam          5
## 19   Sebas          5
## 20     Tod          6

También podemos calcular el total de elementos

TotalElem= nrow(personal)
TotalElem
## [1] 100

Podemos determinar la frecuencia relativa

FrecRelat=TablaFrecNombres$Frecuencia/TotalElem
FrecRelat
##  [1] 0.05 0.05 0.07 0.07 0.08 0.07 0.07 0.04 0.05 0.02 0.02 0.05 0.01 0.06 0.04
## [16] 0.05 0.04 0.05 0.05 0.06

Calcularemos la frecuencia porcentual

FrecPorcen=FrecRelat*100
FrecPorcen
##  [1] 5 5 7 7 8 7 7 4 5 2 2 5 1 6 4 5 4 5 5 6

Vamos a constuir la tabla de distribución

TablaFrecNombres= cbind(TablaFrecNombres,FrecRelat,FrecPorcen)
TablaFrecNombres
##    Nombres Frecuencia FrecRelat FrecPorcen
## 1      Ana          5      0.05          5
## 2    Carol          5      0.05          5
## 3     Ceci          7      0.07          7
## 4      Ema          7      0.07          7
## 5      Fer          8      0.08          8
## 6     Gaby          7      0.07          7
## 7     Juan          7      0.07          7
## 8     Juli          4      0.04          4
## 9      Leo          5      0.05          5
## 10     Lia          2      0.02          2
## 11    Luci          2      0.02          2
## 12    Luis          5      0.05          5
## 13   Luisa          1      0.01          1
## 14    Mari          6      0.06          6
## 15     Mia          4      0.04          4
## 16    Myri          5      0.05          5
## 17   Pedro          4      0.04          4
## 18     Sam          5      0.05          5
## 19   Sebas          5      0.05          5
## 20     Tod          6      0.06          6

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

fdth_cat() es una función que genera tablas de distribución.

•La variable de interés es nuevamente nombres

• Genera los mismos valores que “TablaFrecNombres” solo que se agregan los acumulados

• data.frame() convierte la tabla de distribución generada por fdt_cat() en un data.frame(conjunto de datos)

• .names cambia los nombres de la TablaFrecNombres2

• Finalmente la tabla de distribución generada se construye ordenado de mayor a menor con respecto a la frecuencia

TablaFrecNombres2= data.frame(fdt_cat(personal$nombres))
names(TablaFrecNombres2)=c('Nombres', "Frecuencia","Frec. Relativa", "Frec. Porcentual",
                             "Frec. Acumulada", "Frec. Porcent. Acumulada")
TablaFrecNombres2
##    Nombres Frecuencia Frec. Relativa Frec. Porcentual Frec. Acumulada
## 1      Fer          8           0.08                8               8
## 2     Ceci          7           0.07                7              15
## 3      Ema          7           0.07                7              22
## 4     Gaby          7           0.07                7              29
## 5     Juan          7           0.07                7              36
## 6     Mari          6           0.06                6              42
## 7      Tod          6           0.06                6              48
## 8      Ana          5           0.05                5              53
## 9    Carol          5           0.05                5              58
## 10     Leo          5           0.05                5              63
## 11    Luis          5           0.05                5              68
## 12    Myri          5           0.05                5              73
## 13     Sam          5           0.05                5              78
## 14   Sebas          5           0.05                5              83
## 15    Juli          4           0.04                4              87
## 16     Mia          4           0.04                4              91
## 17   Pedro          4           0.04                4              95
## 18     Lia          2           0.02                2              97
## 19    Luci          2           0.02                2              99
## 20   Luisa          1           0.01                1             100
##    Frec. Porcent. Acumulada
## 1                         8
## 2                        15
## 3                        22
## 4                        29
## 5                        36
## 6                        42
## 7                        48
## 8                        53
## 9                        58
## 10                       63
## 11                       68
## 12                       73
## 13                       78
## 14                       83
## 15                       87
## 16                       91
## 17                       95
## 18                       97
## 19                       99
## 20                      100

PASO 5. Visualizar tabla de frecuencias de nombres()

barplot(height = TablaFrecNombres2$Frecuencia, 
        names.arg = TablaFrecNombres2$Nombres,
        col = "purple")

PASO 6. Visualizar un histograma de la variable edad

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

7. Crear una tabla de frecuencias con table() de la varieble edad

• La función table() genera frecuencias

TablaFrecEdades = data.frame(transform(table(personal$edad)))
#Aquí creé la tabla de frecuencia de las edades

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

Ahora haremos una gráfica de frecuencias de TablaFrecEdades

barplot(height = TablaFrecEdades$Frecuencia,
        names.arg = TablaFrecEdades$Edades,
        main = "Frecuencias de Edades",
        xlab = "Edades", ylab = "Frecuencia",
        col = 143)

PASO 8. Crear tabla de frecuencias con fdt() de la variable edades

a) Determinar frecuencia absoluta

b) Determinar frecuencia relativa

c) Determinar frecuencia porcentual

d) Determinar frecuencia acumulada

e) Determinar frecuencia porcentual acumulada

TablaFrecEdades2 = fdt(personal$edad)
TablaFrecEdades2 = data.frame(TablaFrecEdades2$table)
names(TablaFrecEdades2) = c("Clases", "Frec","Frec. Relat.",
                            "Frec. Porce.","Frec. Acum.","Frec. Porcen. Acum.")
TablaFrecEdades2
##          Clases Frec Frec. Relat. Frec. Porce. Frec. Acum. Frec. Porcen. Acum.
## 1 [14.85,20.57)   13         0.13           13          13                  13
## 2 [20.57,26.29)   18         0.18           18          31                  31
## 3 [26.29,32.01)   14         0.14           14          45                  45
## 4 [32.01,37.73)   11         0.11           11          56                  56
## 5 [37.73,43.44)    9         0.09            9          65                  65
## 6 [43.44,49.16)    7         0.07            7          72                  72
## 7 [49.16,54.88)   11         0.11           11          83                  83
## 8  [54.88,60.6)   17         0.17           17         100                 100

PASO 9. Visualizar la tabla de frecuencias de edad (Tabla de barras)

• Gráfica de frecuencias de TablaFrecEdades2

barplot(height = TablaFrecEdades2$Frec,
        names.arg = TablaFrecEdades2$Clases,
        main = "Frecuencias de clases",
        xlab = "Clases de Edades",
        ylab = "Frecuencia",
        col= "aquamarine4")

PASO 10. Crear tabla de frecuencias con fdt_cat() de la variable ´genero’

a) Determinar frecuencia absoluta

b) Determinar frecuencia relativa

c) Determinar frecuencia porcentual

d) Determinar frecuencia acumulada

e) Determinar frecuencia porcentual acumulada

TablaFrecGenero = data.frame(fdt_cat(personal$genero))
names(TablaFrecGenero)= c("Generos","Frecuencia","Frec. Relat","Frec. Porc.",
                          "Frec. Acum","Frec.Por.Acum")
TablaFrecGenero
##     Generos Frecuencia Frec. Relat Frec. Porc. Frec. Acum Frec.Por.Acum
## 1 Masculino         55        0.55          55         55            55
## 2  Femenino         45        0.45          45        100           100

PASO 11. Visualizar tabla de frecuencia de genero (Tabla de barras)

barplot(height = TablaFrecGenero$Frecuencia, 
        names.arg = TablaFrecGenero$Generos,
        main = "Frecuencias de Géneros",
        xlab = "Géneros", ylab = "Frecuencias",
        col = c("royalblue", 130))

Ahora haremos una gráfica de pastel

pie(x = TablaFrecGenero$Frecuencia, 
    labels = TablaFrecGenero$Generos,
    col = c(300,130))

PASO 12. Crear tabla de frecuencias con fdt_cat() de a variable deportes

a) Determinar frecuencia absoluta

b) Determinar frecuencia relativa

c) Determinar frecuencia porcentual

d) Determinar frecuencia acumulada

e) Determinar frecuencia porcentual acumulada

TablaFrecDeport = data.frame(fdt_cat(personal$deportes))
names(TablaFrecDeport)= c("Deportes","Frecuencia","Frec. Relat","Frec. Porc.",
                          "Frec. Acum","Frec.Por.Acum")
TablaFrecDeport
##      Deportes Frecuencia Frec. Relat Frec. Porc. Frec. Acum Frec.Por.Acum
## 1   AMERICANO         15        0.15          15         15            15
## 2  BASQUETBOL         15        0.15          15         30            30
## 3      FUTBOL         11        0.11          11         41            41
## 4     AJEDREZ         10        0.10          10         51            51
## 5      KARATE         10        0.10          10         61            61
## 6       TENIS         10        0.10          10         71            71
## 7   ATLETISMO          8        0.08           8         79            79
## 8    NATACION          8        0.08           8         87            87
## 9    NATACIÓN          7        0.07           7         94            94
## 10    BEISBOL          6        0.06           6        100           100

PASO 13. Visualizar la tabla de frecuencias de deportes.

barplot(height = TablaFrecDeport$Frecuencia, 
        names.arg = TablaFrecDeport$Deportes,
        main = "Frecuencias de los deportes",
        xlab = "Deportes", ylab = "Frecuencias",
        col = c(rainbow(length(TablaFrecDeport$Deportes))))

PASO 14. Describir el CASO 2 a través de 80- 100 palabras.

• De acuerdo con mi tabla de frecuencias del paso 4, el nombre que más se repite es Fer (8 veces).

• El nombre que menos se repitió fue Luisa, ya que solo apareció una vez.

• Fer representa el 8% del total de nombres que tenemos.

• De acuerdo con mi tabla de frecuencia de edades (paso 7) la edad más común es 57 años.

• Mi gráfica de pastel (paso 11) muestra que hay más hombres que mujeres.

• Según mi tabla de frecuenicas del paso 13, los 2 deportes más jugados son el fútbol americano y el básquetbol, con una frecuencia de 15 cada uno.