INSTRUCCIONES: Resuelve los siguientes ejercicios prácticos utilizando R. Los ejercicios propuestos tienen distintas ponderaciones, y la calificación final de dicha actividad será dada a conocer en el espacio correspondiente de la plataforma Moodle. La ponderación se muestra al inicio o al final del respectivo enunciado del ejercicio.

Al momento de compilar el archivo Markdown, se deben de mostrar las instrucciones, las salidas y una breve explicación del resultado.

EJERCICIO 1. Sistema Sismológico Nacional. (55%)

Utilizando la información correspondiente a los sismos registrados por el Sistema Sismológico Nacional (SSN) en el periodo 01-01-1980 al 24-09-2021, disponible en http: //www2.ssn.unam.mx:8080/catalogo/, calcular:

1. El total de sismos detectados por mes (10%)

knitr::opts_chunk$set(echo = TRUE)

library(readxl)
mes<-read.csv("C:\\Users\\mez1\\Documents\\CIDE\\METPOL\\1 SEMESTRE\\BASES DE DATOS\\SISMOS.csv")
attach(mes)
library(lubridate)
## 
## Attaching package: 'lubridate'
## The following objects are masked from 'package:base':
## 
##     date, intersect, setdiff, union
fecha<-month(Fecha)
table(fecha)
## fecha
##     1     2     3     4     5     6     7     8     9    10    11    12 
## 21195 20644 19155 17959 17807 18129 17633 17827 21497 18254 18094 18570
hist(fecha, breaks = 40, col="purple", main="FRECUENCIA DE TEMBLORES POR MES EN EL PERIODO 1980-2021", xlab = "MES", ylab= "FRECUENCIA")

Primero, activé el paquete readxl para abrir la base de datos, la nombré mes y la puse en el ambiente con el comando attach. Posteriormente activé la paquetería lubridate y extraje los meses de la columna Fecha. Para observar la frecuencia de los sismos por mes, asumí que si los datos estaban en el reporte del sistema Sismológico Nacional, era porque había ocurrido un sismo. De esta forma, utilicé el comando table para hacer una tabla que me especificara el número del mes y el número de sismos que se registraron por mes. Para visualizar esta información, elaboré un diagrama de frecuencias con la función hist. Tanto la tabla como el histograma, muestran que septiembre es el mes en que más sismos ocurren con 21,497 temblores en los últimos 41 años y que los sismos se distribuyen de manera más o menos uniforme a través de los meses.

2. El total de sismos detectados por cada estado de la república (15%)

knitr::opts_chunk$set(echo = TRUE)

library(readxl)
estados<-read.csv("C:\\Users\\mez1\\Documents\\CIDE\\METPOL\\1 SEMESTRE\\BASES DE DATOS\\SISMOSE.csv")
attach(estados)
## The following objects are masked from mes:
## 
##     Estatus, Fecha, Fecha.UTC, Hora, Hora.UTC, Latitud, Longitud,
##     Magnitud, Profundidad, Referencia.de.localizacion
#?strsplit
edo<-as.data.frame(Estado)

table(Estado)
## Estado
##    AGS     BC    BC     BCS   BCS    CAMP   CDMX  CDMX    CHIH  CHIH    CHIS 
##     42   7517    653   2784     62     62    280      5    399      1  42095 
##  CHIS    COAH  COAH     COL   COL     DGO   DGO     GRO   GRO     GTO   GTO  
##    818     95     14   5037    251     60      1  38322    927     54     28 
##    HGO   HGO     JAL   JAL     MEX   MEX    MICH  MICH     MOR   MOR     NAY 
##    536     12   6427    405    573     10  13097    882    229      4    227 
##   NAY      NL    NL     OAX   OAX     PUE   PUE      QR    QRO   QRO     SIN 
##     36    405     15  92698   1894   1105     25     86     14      1    903 
##   SIN     SLP   SLP     SON   SON     TAB   TAB    TAMS  TAMS    TLAX  TLAX  
##     17    178     11   1182    127    508     22    112      3    118      2 
##    VER   VER     YUC    ZAC   ZAC      NL 
##   5036    123      3    205     23      3
EDOS<-c("AGUASCALIENTES", "BAJA_CALIFORNIA", "BAJA_CALIFORNIA_SUR", "CAMPECHE", "CDMX", "CHIHUAHUA", "CHIAPAS", "COAHUILA", "COLIMA", "DURANGO", "GUERRERO", "GUANAJUATO", "HIDALGO", "JALISCO", "MEXICO", "MICHOACAN", "MORELOS", "NAYARIT", "NUEVO_LEON", "OAXACA", "PUEBLA", "QUINTANA_ROO", "QUERETARO", "SINALOA", "SAN_LUIS_POTOSI", "SONORA", "TABASCO", "TAMAULIPAS", "TLAXCALA","VERACRUZ", "YUCATAN", "ZACATECAS")
SISMOS<-c(42, 8170, 2846, 62, 285, 400, 42913, 109, 5288, 61, 39249, 82, 548,6832, 583, 13979, 233, 263, 423, 94592, 1130, 86, 15, 920, 189, 1309, 530,115, 120, 5159, 3, 228)

TOTAL_SISMOS<-paste(EDOS, SISMOS)
TOTAL_SISMOS
##  [1] "AGUASCALIENTES 42"        "BAJA_CALIFORNIA 8170"    
##  [3] "BAJA_CALIFORNIA_SUR 2846" "CAMPECHE 62"             
##  [5] "CDMX 285"                 "CHIHUAHUA 400"           
##  [7] "CHIAPAS 42913"            "COAHUILA 109"            
##  [9] "COLIMA 5288"              "DURANGO 61"              
## [11] "GUERRERO 39249"           "GUANAJUATO 82"           
## [13] "HIDALGO 548"              "JALISCO 6832"            
## [15] "MEXICO 583"               "MICHOACAN 13979"         
## [17] "MORELOS 233"              "NAYARIT 263"             
## [19] "NUEVO_LEON 423"           "OAXACA 94592"            
## [21] "PUEBLA 1130"              "QUINTANA_ROO 86"         
## [23] "QUERETARO 15"             "SINALOA 920"             
## [25] "SAN_LUIS_POTOSI 189"      "SONORA 1309"             
## [27] "TABASCO 530"              "TAMAULIPAS 115"          
## [29] "TLAXCALA 120"             "VERACRUZ 5159"           
## [31] "YUCATAN 3"                "ZACATECAS 228"

Los datos muestran a los estados junto con su respectivo número de sismos en el periodo 1980-2021.

3. Gráfico circular de frecuencia de los sismos de acuerdo a la hora del día (0-23 ó 1-24) cuando acontenció (15%) Ver figura 1.

ejemplo de gráfico circular

La siguiente ilustración muestra el código que se debería utilizar para generar el gráfico solicitado, del tipo coord_polar

CÓDIGO GRÁFICO CIRCULAR

4. Considerando solamente aquellos sismos cuya magnitud fue mayor o igual a 5 ¿Cuáles son los 5 estados con mayor cantidad de sísmos? (5%)

knitr::opts_chunk$set(echo = TRUE)

library(readxl)
sismosfuertes<-read.csv("C:\\Users\\mez1\\Documents\\CIDE\\METPOL\\1 SEMESTRE\\BASES DE DATOS\\sismosa.csv")
attach(sismosfuertes)
## The following objects are masked from estados:
## 
##     Estado, Estatus, Fecha, Fecha.UTC, Hora, Hora.UTC, Latitud,
##     Longitud, Magnitud, Profundidad, Referencia.de.localizacion,
##     Referencia.de.localizacion.1
## The following objects are masked from mes:
## 
##     Estatus, Fecha, Fecha.UTC, Hora, Hora.UTC, Latitud, Longitud,
##     Magnitud, Profundidad, Referencia.de.localizacion
table(Estado)
## Estado
##     BC    BCS   BCS    CHIH   CHIS  CHIS     COL    GRO   GRO     JAL   JAL  
##     44    114      1      1    493      6     29    181      4    104      1 
##   MICH  MICH     NAY    OAX   OAX     PUE     QR    SIN   SIN     SON   SON  
##     59      1      6    271      1      9      4     50      1     24      2 
##    VER   VER  
##     18      1
est<-c("Chiapas", "Oaxaca", "Guerrero", "Baja_California_Sur", "Jalisco")
freqq<-c(499, 272, 185, 115, 105)
r4<-paste(est,freqq)
r4
## [1] "Chiapas 499"             "Oaxaca 272"             
## [3] "Guerrero 185"            "Baja_California_Sur 115"
## [5] "Jalisco 105"

Los datos señalan que los estados con mayor número de sismos mayores a 5 grados son Chiapas, Oaxaca, Guerrero, Baja California Sur y Jalisco.

5. Realizar un histograma de la magnitud de los sísmos detectados en el estado de Chiapas (10%)

knitr::opts_chunk$set(echo = TRUE)

library(readxl)
CHIAPAS<-read.csv("C:\\Users\\mez1\\Documents\\CIDE\\METPOL\\1 SEMESTRE\\BASES DE DATOS\\SISMOSC.csv")
attach(CHIAPAS)
## The following objects are masked from sismosfuertes:
## 
##     Estado, Estatus, Fecha, Fecha.UTC, Hora, Hora.UTC, Latitud,
##     Longitud, Magnitud, Profundidad, Referencia.de.localizacion,
##     Referencia.de.localizacion.1
## The following objects are masked from estados:
## 
##     Estado, Estatus, Fecha, Fecha.UTC, Hora, Hora.UTC, Latitud,
##     Longitud, Magnitud, Profundidad, Referencia.de.localizacion,
##     Referencia.de.localizacion.1
## The following objects are masked from mes:
## 
##     Estatus, Fecha, Fecha.UTC, Hora, Hora.UTC, Latitud, Longitud,
##     Magnitud, Profundidad, Referencia.de.localizacion
MAGNITUD<-as.numeric(Magnitud)
## Warning: NAs introducidos por coerción
hist(MAGNITUD, breaks = 40, col="purple", main="FRECUENCIA DE TEMBLORES EN CHIAPAS POR MAGNITUD", xlab = "MAGNITUD", ylab= "FRECUENCIA")

El histograma muestra la distribución de la frecuencia de los sismos por magnitud en el estado de Chiapas en el periodo 1980-2021. Si cruzamos los datos del inciso anterior con este, es posible observar que, aunque Chiapas es el estado que sufre más sismos en la República Mexicana, la mayoría de estos son ligeros, pues ocurren con mayor frecuencia en una magnitud de 3 a 4 grados.

EJERCICIO 2. Mínimos Cuadrados. (30%)

El método más común para la determinación de la aproximación estadísticamente óptima con un conjunto de parámetros dado un grupo de datos, es el método conocido como Mínimos Cuadrados (por sus siglas en inglés, LS), y fue propuesto hace aproximadamente dos siglos por Carl Friedrich Gauss. Así, en el caso más simple de la regresión lineal (y =b0 +b1X), se busca minimizar la suma de cuadrados en el vector de residuales e. Esta función objetivo de mínimos cuadrados puede ser escrita en su forma compacta de la siguiente manera:

\[f(b)=e^Te\] \[f(b)=(y-Xb)^T(y-Xb)\]

\[y^Ty-2y^TXb+bX^TXb\] ### Calculando las derivadas parciales respecto a los parámetros b, e igualando dicha derivada a 0, se obtiene el vector de estimaciones puntuales de los parámetros \(\beta\) (o b):

\[\beta =(X^TX)^{-1}X^Ty\]

Utilizando los datos disponibles en Moodle llamados corazon, obtener el vector de estimaciones puntuales para los parámetros \(\beta\) cuando X = matriz de variables biking y smoking (498 x 2) y, y = heart.disease (498 x 1).

knitr::opts_chunk$set(echo = TRUE)

library(readxl)
corazon<-read.csv("C:\\Users\\mez1\\Documents\\CIDE\\METPOL\\1 SEMESTRE\\BASES DE DATOS\\corazon.csv")
attach(corazon)
OLS<-lm(heart.disease~biking+smoking)
summary(OLS)
## 
## Call:
## lm(formula = heart.disease ~ biking + smoking)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.1789 -0.4463  0.0362  0.4422  1.9331 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 14.984658   0.080137  186.99   <2e-16 ***
## biking      -0.200133   0.001366 -146.53   <2e-16 ***
## smoking      0.178334   0.003539   50.39   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.654 on 495 degrees of freedom
## Multiple R-squared:  0.9796, Adjusted R-squared:  0.9795 
## F-statistic: 1.19e+04 on 2 and 495 DF,  p-value: < 2.2e-16

Primero activé el paquete readxl para poder cargar la base de datos corazon.csv, luego puse dicha base en el ambiente con la función attach y, utilicé la función lm para obtener los coeficientes de mi modelo de mínimos cuadrados. Finalmente, utilicé la función summary para visualizar los coeficientes del modelo en la consola.

De acuerdo con los parámetros \(\beta\) obtenidos en nuestro modelo de Mínimos Cuadrados dada la base de datos corazon, el intercepto estimado del modelo \(\beta_0\) es de 14.98, el efecto de andar en bicicleta sobre las enfermedades del corazón, estimado con \(\beta_1\) es de -0.2 y es estadísticamente significativo al .001%, por lo que se puede interpretar como que andar en bicicleta se relaciona de forma negativa y significativa con las enfermedades del corazón. Finalmente, el efecto de fumar, estimado por \(\beta_2\) es de 0.17 y es significativo al .001% por lo que se puede interpretar que fumar aumenta las enfermedades del corazón de manera significativa.