3  Tablas resúmenes

En esta sección se trabajará nuevamente con la base de datos de países.

BASE1<-read.csv("futbol.csv",sep=",",encoding = "latin1")
goals<-BASE1$goals; position<-BASE1$position; squad<-BASE1$squad; foot<-BASE1$foot; height<-BASE1$height
BASE2<-read.csv("Paises.csv",sep=";") 
pob<-BASE2$pob; region<-BASE2$region; le21<-BASE2$le_2021

3.1 Tabla de frecuencias

La tabla de frecuencias indica cuántas observaciones presentan los valores observados en una variable particular. La función que permite obtener esta tabla es table(var).

fa<-table(region) 
data.frame(fa) #table genera dos filas horizontales, data.frame las acomoda
  region Freq
1     AS   20
2     DC   44
3    EAP   26
4    ECA   17
5    LAC   33
6     SA    9
7    SSA   46

Nota: Las regiones son Arabian States, developed countries, East Asia and the Pacific, Europe and Central Asia, Latin America and Caribbean, South Asia and SubSaharian Africa (AS, DC, EAP, ECA, LAC, SA y SSA).

La tabla de frecuencias puede incluir otras frecuencias muy útiles como la frecuencia relativa (prop.table(table)), la frecuencia absoluta acumulada (cumsum(var)) y la frecuencia relativa acumulada (cumsum(var)).

fr<-prop.table(fa)  
Fa<-cumsum(fa)
Fr<-cumsum(fr)

df<-data.frame( matrix(fa),matrix(fr),Fa,Fr) #La función table genera una fila adicional de nombres, matrix permite quedarse con solo la salida numérica
names(df)<-c("fa","fr","Fa","Fr")
round(df,2)
    fa   fr  Fa   Fr
AS  20 0.10  20 0.10
DC  44 0.23  64 0.33
EAP 26 0.13  90 0.46
ECA 17 0.09 107 0.55
LAC 33 0.17 140 0.72
SA   9 0.05 149 0.76
SSA 46 0.24 195 1.00

3.2 Tablas de contigencia

Estas tablas permiten visualizar las frecuencias conjuntas de dos variables, e incluso 3. La función que se utiliza es table(var1, var2, var 3).

table(position, foot)
        foot
position both left right
      DF    0    7    12
      FW    5    6     7
      GK    0    1     2
      MF    1    2    10
table(position, foot, squad)
, , squad = Barcelona

        foot
position both left right
      DF    0    5     6
      FW    1    4     3
      GK    0    0     1
      MF    0    1     6

, , squad = Real Madrid

        foot
position both left right
      DF    0    2     6
      FW    4    2     4
      GK    0    1     1
      MF    1    1     4

3.3 Tablas de frecuencias agrupadas

x<-cut(height, seq(160,200,5), right = TRUE) # Indica los intervalos en los que está cada altura, según los cortes indicados en la segunda entrada
x[1:5]
[1] (170,175] (165,170] (180,185] (190,195] (175,180]
8 Levels: (160,165] (165,170] (170,175] (175,180] (180,185] ... (195,200]
fa<- table(x)
fr<-prop.table(fa)  
Fa<-cumsum(fa)
Fr<-cumsum(fr)
df<-data.frame( matrix(fa),matrix(fr),Fa,Fr)
names(df)<-c("fa","fr","Fa","Fr")
round(df,2)
          fa   fr Fa   Fr
(160,165]  0 0.00  0 0.00
(165,170]  3 0.06  3 0.06
(170,175] 10 0.19 13 0.25
(175,180] 16 0.30 29 0.55
(180,185] 14 0.26 43 0.81
(185,190]  6 0.11 49 0.92
(190,195]  3 0.06 52 0.98
(195,200]  1 0.02 53 1.00

3.4 Tablas de estadísticos resumen de una variable, según grupos de otra variable

Estas tablas permiten visualizar un estadístico de interés, según grupos dentro de la población. Por ejemplo, se puede ver la cantidad total de personas o el área que abarca cada región del mundo. La función de R que permite realizar este cálculo es tapply(var1, var2, fun=, na.rm=). En estos casos, el estadístico de interés es la suma (sum`).

df<-data.frame(tapply(pob, region, sum, na.rm=T))
names(df)<-c("pob")
df
           pob
AS   443923526
DC  1268469643
EAP 2122518534
ECA  247263736
LAC  646668247
SA  1969821813
SSA 1090324579

Otro ejemplo es la esperanza de vida promediada según los países de cada región.

df<-data.frame(tapply(le21, region, mean, na.rm=T))
names(df)<-c("Esp_prom")
df
    Esp_prom
AS  72.16000
DC  80.39318
EAP 70.36923
ECA 72.30588
LAC 72.13333
SA  70.90000
SSA 61.76957

Otro ejemplo es la cantidad de goles por posición y equipo.

F<-tapply(goals, list(position, squad), sum, na.rm=T) #list permite crear una variable que combine dos variables
F
   Barcelona Real Madrid
DF         8          18
FW        60          37
GK         0           0
MF        16          15

Finalmente, si se desea trabajar la tabla anterior con porcentajes se puede usar el comando prop.table(table, margin=2).

prop.table(F, margin=2)
   Barcelona Real Madrid
DF 0.0952381   0.2571429
FW 0.7142857   0.5285714
GK 0.0000000   0.0000000
MF 0.1904762   0.2142857

3.5 Formato de tablas

Índice de Desarrollo Humano de los países centroamericanos. 2015-2021.

cod hdi_2015 hdi_2016 hdi_2017 hdi_2018 hdi_2019 hdi_2020 hdi_2021
BLZ 0.708 0.712 0.707 0.706 0.705 0.690 1
CRI 0.798 0.803 0.807 0.811 0.819 0.816 1
GTM 0.639 0.639 0.640 0.640 0.642 0.635 1
HND 0.613 0.618 0.617 0.617 0.632 0.621 1
NIC 0.647 0.653 0.659 0.662 0.664 0.654 1
PAN 0.800 0.805 0.811 0.814 0.817 0.801 1
SLV 0.668 0.671 0.674 0.680 0.683 0.672 1