alt text https://www.polymetrix.mx

Introducción

Este trabajo muestra los principales indicadores estadísticos de la pandemia hasta el día 5 de diciembre de 2021 en México y sus comandos en R. La base de datos tiene una extensión de 7 columnas por 684 filas, se presentan los encabezados, significado y tipo de variable. La base de datos original se extrajo de la Universidad Johns Hopkins: covidmx es el dataset completo dia es el consecutivo de 1 hasta 684; fecha es la fecha en que ocurrió; contagios es la cantidad de contagios; muertes cantidad de muertes; day = dia de la semana, lunes, martes…; month = mes; year = año.

Librería e importación de base de datos

Es necesario abrir la librería haven, install.packages(“haven”); que es donde se encuentra el comando read_sav() para leer data en SPSS, View() presenta la tabla de resultados.head() primeros 6 datos y tail() ultimos datos, nótese que para este caso se exponen 10.Es requisito conocer la ubicación del archivo que para este caso en particular, está en el directorio de R.

library(haven)
covidmx <- read_sav("covidmx.sav")
View(covidmx)
# primeros 6 datos
head(covidmx)
## # A tibble: 6 x 7
##     dia fecha      contagios muertes day       month  year
##   <dbl> <date>         <dbl>   <dbl> <chr>     <chr> <dbl>
## 1     1 2020-01-22         0       0 miercoles enero  2020
## 2     2 2020-01-23         0       0 jueves    enero  2020
## 3     3 2020-01-24         0       0 viernes   enero  2020
## 4     4 2020-01-25         0       0 sabado    enero  2020
## 5     5 2020-01-26         0       0 domingo   enero  2020
## 6     6 2020-01-27         0       0 lunes     enero  2020
# últimos 10 datos
tail(covidmx,10)
## # A tibble: 10 x 7
##      dia fecha      contagios muertes day       month     year
##    <dbl> <date>         <dbl>   <dbl> <chr>     <chr>    <dbl>
##  1   675 2021-11-26      3445     165 viernes   noviembr  2021
##  2   676 2021-11-27         0       0 sabado    noviembr  2021
##  3   677 2021-11-28      2956     245 domingo   noviembr  2021
##  4   678 2021-11-29      1774      91 lunes     noviembr  2021
##  5   679 2021-11-30         0       0 martes    noviembr  2021
##  6   680 2021-12-01      6652     478 miercoles diciembr  2021
##  7   681 2021-12-02         0       0 jueves    diciembr  2021
##  8   682 2021-12-03      6234     476 viernes   diciembr  2021
##  9   683 2021-12-04         0       0 sabado    diciembr  2021
## 10   684 2021-12-05      3811     299 domingo   diciembr  2021

Nombre de las variables

Nombre de las variables (encabezados) names():

names(covidmx)
## [1] "dia"       "fecha"     "contagios" "muertes"   "day"       "month"    
## [7] "year"

Tipo de datos

A través de class() ejemplo de 1 variable en 1 variable:

class(covidmx)
## [1] "tbl_df"     "tbl"        "data.frame"
class(covidmx$contagios)
## [1] "numeric"
class(covidmx$fecha)
## [1] "Date"
class(covidmx$day)
## [1] "character"

str() combina varios elementos de todas las variables a la vez:

str(covidmx)
## tibble [684 x 7] (S3: tbl_df/tbl/data.frame)
##  $ dia      : num [1:684] 1 2 3 4 5 6 7 8 9 10 ...
##   ..- attr(*, "label")= chr "dia"
##   ..- attr(*, "format.spss")= chr "F8.0"
##  $ fecha    : Date[1:684], format: "2020-01-22" "2020-01-23" ...
##  $ contagios: num [1:684] 0 0 0 0 0 0 0 0 0 0 ...
##   ..- attr(*, "label")= chr "contagios"
##   ..- attr(*, "format.spss")= chr "F5.0"
##   ..- attr(*, "display_width")= int 12
##  $ muertes  : num [1:684] 0 0 0 0 0 0 0 0 0 0 ...
##   ..- attr(*, "label")= chr "muertes"
##   ..- attr(*, "format.spss")= chr "F8.0"
##  $ day      : chr [1:684] "miercoles" "jueves" "viernes" "sabado" ...
##   ..- attr(*, "label")= chr "day"
##   ..- attr(*, "format.spss")= chr "A9"
##  $ month    : chr [1:684] "enero" "enero" "enero" "enero" ...
##   ..- attr(*, "label")= chr "month"
##   ..- attr(*, "format.spss")= chr "A8"
##  $ year     : num [1:684] 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 ...
##   ..- attr(*, "label")= chr "year"
##   ..- attr(*, "format.spss")= chr "F8.0"

Mostrar fila, columna, datpoint o varios datpoints

Mostrar una columna específica covidmx[x,], una fila específica covidmx[,y], un datpoint covidmx[x,y] o varios datos covidmx[x1:x2,y1:y2]:

# Fila 101 y todas las columnas
covidmx[101,]
## # A tibble: 1 x 7
##     dia fecha      contagios muertes day     month  year
##   <dbl> <date>         <dbl>   <dbl> <chr>   <chr> <dbl>
## 1   101 2020-05-01      1515     113 viernes mayo   2020
# Todas las filas y columna 3 = covidmx$contagios
covidmx[,3]
## # A tibble: 684 x 1
##    contagios
##        <dbl>
##  1         0
##  2         0
##  3         0
##  4         0
##  5         0
##  6         0
##  7         0
##  8         0
##  9         0
## 10         0
## # ... with 674 more rows
# Un punto específico (contagios el día 101, columna 3 = contagios)
covidmx[101,3]
## # A tibble: 1 x 1
##   contagios
##       <dbl>
## 1      1515
# Varios datos (contagios y muertes de los días 101 al 110)
covidmx[101:110,2:4]
## # A tibble: 10 x 3
##    fecha      contagios muertes
##    <date>         <dbl>   <dbl>
##  1 2020-05-01      1515     113
##  2 2020-05-02      1349      89
##  3 2020-05-03      1383      93
##  4 2020-05-04      1434     117
##  5 2020-05-05      1120     236
##  6 2020-05-06      1609     197
##  7 2020-05-07      1982     257
##  8 2020-05-08      1906     199
##  9 2020-05-09      1938     193
## 10 2020-05-10      1562     112

Para hacer un poco más interesante se toman únicamente los valores específicos:

# Contagios > 0
covidmx[covidmx$contagios>0,3]
## # A tibble: 618 x 1
##    contagios
##        <dbl>
##  1         1
##  2         3
##  3         1
##  4         1
##  5         1
##  6         1
##  7         4
##  8        14
##  9        15
## 10        12
## # ... with 608 more rows
# Muertes = 0, obsérvese que la igualdad condicional es con doble =
covidmx[covidmx$muertes==0,4]
## # A tibble: 81 x 1
##    muertes
##      <dbl>
##  1       0
##  2       0
##  3       0
##  4       0
##  5       0
##  6       0
##  7       0
##  8       0
##  9       0
## 10       0
## # ... with 71 more rows

Total y cantidad de datos

Para conocer el total se utiliza sum() y para la extensión length(), ncol() y nrow(), el data set es covidmx y la extensión $ lo que hace es desplegar la columna correspondiente del data.frame que en este caso es covidmx y las columnas son contagios y muertes:

# Total de contagios
sum(covidmx$contagios)
## [1] 3901263
# Total de muertes
sum(covidmx$muertes)
## [1] 295203
length(covidmx)
## [1] 7
# Número de columnas
ncol(covidmx)
## [1] 7
# Número de renglones
nrow(covidmx)
## [1] 684

Máximo, mínimo y range

Máximo max(), Mínimo min() y Rango range() que retorna el máximo y el mínimo a la vez:

# Máximo de contagios
max(covidmx$contagios)
## [1] 32244
# Máximo de muertes
max(covidmx$muertes)
## [1] 4272
# Mínimo de contagios
min(covidmx$contagios)
## [1] 0
# Mínimo de muertes
min(covidmx$muertes)
## [1] 0
# Reporta el Máximo y Mínimo de contagios
range(covidmx$contagios)
## [1]     0 32244
# Reporta el Máximo y Mínimo de muertes
range(covidmx$muertes)
## [1]    0 4272

Media

Media de datos numéricos mean() y media de fechas mean.Date():

# Media de contagios
mean(covidmx$contagios)
## [1] 5703.601
# Media de muertes
mean(covidmx$muertes)
## [1] 431.5833
# Fecha promedio (es necesario que sea class = date)
mean.Date(covidmx$fecha)
## [1] "2020-12-28"

Mediana

Mediana median():

# Mediana de contagios
median(covidmx$contagios)
## [1] 4684
# Mediana de muertes
median(covidmx$muertes)
## [1] 356.5

Moda

La Moda no tiene función específica en R, por lo tanto se requiere del apoyo de librería modeest install.packages(“modeest”), una vez instalada es necesario activarla modeest:

library(modeest)
# Moda de contagios
mlv(covidmx$contagios, method = "mfv")
## [1] 0
# Moda de muertes
mlv(covidmx$muertes, method = "mfv")
## [1] 0

Varianza y desviación estándar MUESTRAL:

R estima de manera directa la Varianza y desviación estándar muestral Varianza Muestral

# Varianza muestral de contagios (entre n-1)
var(covidmx$contagios)
## [1] 29263299
# Varianza muestral de muertes (entre n-1)
var(covidmx$muertes)
## [1] 166809.5

Desviación estándar Muestral

# Desviación estándar muestral de contagios (raiz de varianza muestral) de forma directa
sd(covidmx$contagios)
## [1] 5409.556
# Desviación estándar muestral de muertes (raiz de varianza muestral) de forma directa
sd(covidmx$muertes)
## [1] 408.4232

Desviación estándar mediante raiz de varianza muestral

sqrt(var(covidmx$contagios))
## [1] 5409.556
sqrt(var(covidmx$muertes))
## [1] 408.4232

Varianza y desviación estándar POBLACIONAL:

R NO estima de manera directa la Varianza y desviación estándar poblacional, por lo tanto, es neceario multiplicar por (N-1)/N Varianza Poblacional

# Varianza poblacional de contagios (entre N)
var(covidmx$contagios)*(length(covidmx$contagios)-1)/length(covidmx$contagios)
## [1] 29220516
# Varianza poblacional de muertes (entre N)
var(covidmx$muertes)*(length(covidmx$muertes)-1)/length(covidmx$muertes)
## [1] 166565.6

Desviación estándar mediante raiz de varianza poblacional

# Desviación estándar poblacional de contagios (entre N)
sqrt(var(covidmx$contagios)*(length(covidmx$contagios)-1)/length(covidmx$contagios))
## [1] 5405.6
# Desviación estándar poblacional de muertes (entre N)
sqrt(var(covidmx$muertes)*(length(covidmx$muertes)-1)/length(covidmx$muertes))
## [1] 408.1245

Covarianza y correlación MUESTRAL:

R estima de manera directa la coVarianza y correlación muestral Covarianza Muestral

# Covarianza muestral entre contagios y muertes (dividido entre n-1)
cov(covidmx$contagios,covidmx$muertes)
## [1] 1536888

Correlación Muestral

# Correlación muestral entre contagios y muertes (dividido entre n-1)
cor(covidmx$contagios,covidmx$muertes)
## [1] 0.6956172

summary:

R arroja un resummen de datos numéricos a través de summary()

# Resumen de estadísticos de contagios
summary(covidmx$contagios)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##       0    1904    4684    5704    6915   32244
# Resumen de estadísticos de muertes
summary(covidmx$muertes)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##     0.0   145.0   356.5   431.6   635.0  4272.0

Regresión Lineal:

R realiza regresión lineal mediante la función lm(formula = y~x, data = )

# Regresión lineal, las muertes explicadas por los contagios
lm(formula = covidmx$muertes~covidmx$contagios, data = covidmx)
## 
## Call:
## lm(formula = covidmx$muertes ~ covidmx$contagios, data = covidmx)
## 
## Coefficients:
##       (Intercept)  covidmx$contagios  
##         132.03412            0.05252

Gráfico de la regresión lineal:

R grafica con plot(x,y) y abline()

# Gráfico
plot(covidmx$contagios,covidmx$muertes)
# Se agrega la línea de tendencia abline()
abline(lm(formula = covidmx$muertes~covidmx$contagios),col="red")