knitr::opts_chunk$set(echo = TRUE)
library(openxlsx)

getwd()
## [1] "C:/Users/miria/OneDrive/Escritorio/RSTUDIO"
setwd("C:/Users/miria/OneDrive/Escritorio/RSTUDIO")

data<-read.xlsx("datos.xlsx",1)

Chi cuadrada

Se realizó un análisis de chi-cuadrado para conocer la razón de probabilidad de que existan diferencias estadísticamente significativas entre el número total de mujeres y hombres en México en el año 2020.

Los datos de indicadores de población total por sexo en México hasta el año 2020 fueron obtenidos del portal del INEGI (https://www.inegi.org.mx/temas/estructura/). A partir de dicha información, se contó el total de organismos de cada sexo y se dividió el número de hombres entre el número de mujeres. Posteriormente, la proporción observada se comparó estadísticamente con el valor esperado 1H: 1M (1 mujer por cada Hombre) mediante un análisis de Chi cuadrada.

#Creamos una matriz de dos por dos donde definimos los valores#
#observados y esperados de la proporción por genero de la población mexicana###
sex.ratio <- matrix(c(64519180, 61494843,63007012,63007012),nrow=2,byrow=T,
                    dimnames=list(Proporción=c("Observado", "Esperado"),
                                    Género=c("Mujeres", "Hombres")))


sex.ratio#Confiramos la matriz creada####
##            Género
## Proporción   Mujeres  Hombres
##   Observado 64519180 61494843
##   Esperado  63007012 63007012
chisq.test(sex.ratio)#Con la función chisq.test aplicada a la matriz de la información por sexos#
## 
##  Pearson's Chi-squared test with Yates' continuity correction
## 
## data:  sex.ratio
## X-squared = 36297, df = 1, p-value < 2.2e-16
#Nos arroja el valor del estadístico chi cuadrado, el valor de los grados de libertad  y el valor de probabilidad asociada al valor de chi^2#

par(mfrow=c(1,1))#dividimos la ventana del gráfico de una columna por una fila
mosaicplot(sex.ratio, title("Proporción"), cex=1.5)

Resultados

Al año 2020, la población a nivel nacional es de 126, 014, 024 personas. Un 51.2% son mujeres y el resto (48.8%) hombres. Después de aplicar la prueba, se concluye que existan diferencias estadísticamente significativas de que la proporción entre géneros no sea la esperada (1M: 1H), ya que el valor de p resultó menor al alfa: Xi2=36,297; g.l.=1, p=2.2e-16. La proporción observada resultó en 0.95 hombres por cada mujer (o 95.2 hombres por cada 100 mujeres). A pesar que esta diferencia no se aprecia con facilidad en la figura 1, la magnitud de esta diferencia es de un poco más de tres millones de personas.

Prueba t-student

Es sabido que las exportaciones que realizó México el año pasado disminuyeron a causa de la pandemia causada por el SARS-CoV-2. Se requiere conocer si el valor de las exportaciones de mercancías por entidad federativa, las cuales permite conocer la participación de cada una de ellas en el intercambio comercial que realiza México con el resto del mundo, fueron diferentes entre el primer semestre del año 2020 con respecto al 2021. Los datos de exportaciones por entidad federativa fueron obtenidos del portal del INEGI https://www.inegi.org.mx/temas/exportacionesef/

Para contestar dicha pregunta se utilizó una prueba t-student. Las hipótesis a confrontar fueron las siguientes:

Hipótesis Nula (H0)= El promedio entre semestres fue igual. Hipótesis Alternativa (Ha)= El promedio entre semestres fue diferente.

setwd("C:/Users/miria/OneDrive/Escritorio/RSTUDIO")
data1<-read.xlsx("datos.xlsx",2)
head(data1)#Esta linea muestra las primeras 6 lineas de la base de datos
##              Entidades Mies.de.dolares  Año
## 1       Aguascalientes       11449.692 2020
## 2      Baja California       40659.059 2020
## 3  Baja California Sur         265.755 2020
## 4             Campeche       10274.656 2020
## 5 Coahuila de Zaragoza       44961.569 2020
## 6               Colima         751.846 2020
summary(data1)#Esta linea muestra un resumen de las características y estadística descriptivas de la base de datos
##   Entidades         Mies.de.dolares         Año      
##  Length:64          Min.   :    5.47   Min.   :2020  
##  Class :character   1st Qu.:  909.22   1st Qu.:2020  
##  Mode  :character   Median : 3572.94   Median :2020  
##                     Mean   : 9142.99   Mean   :2020  
##                     3rd Qu.:13436.20   3rd Qu.:2021  
##                     Max.   :54920.40   Max.   :2021
data1$Año<-as.factor(data1$Año)#Esta linea convierte la variable Año en factor

#¿Cuántos niveles tiene dicho factor?#
data1$Año #Dos 
##  [1] 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020
## [16] 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020 2020
## [31] 2020 2020 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021
## [46] 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021 2021
## [61] 2021 2021 2021 2021
## Levels: 2020 2021
names(data1);str(data1);summary(data1)
## [1] "Entidades"       "Mies.de.dolares" "Año"
## 'data.frame':    64 obs. of  3 variables:
##  $ Entidades      : chr  "Aguascalientes" "Baja California" "Baja California Sur" "Campeche" ...
##  $ Mies.de.dolares: num  11450 40659 266 10275 44962 ...
##  $ Año            : Factor w/ 2 levels "2020","2021": 1 1 1 1 1 1 1 1 1 1 ...
##   Entidades         Mies.de.dolares      Año    
##  Length:64          Min.   :    5.47   2020:32  
##  Class :character   1st Qu.:  909.22   2021:32  
##  Mode  :character   Median : 3572.94            
##                     Mean   : 9142.99            
##                     3rd Qu.:13436.20            
##                     Max.   :54920.40
#Sí está balanceado. Cada nivel del factor tiene 2 registros


#Creamos dos objetos, cada uno contiene los valores de las exportaciones por cada año respectivo
(A2020<-data1[data1$Año=="2020",2])
##  [1] 11449.692 40659.059   265.755 10274.656 44961.569   751.846   729.883
##  [8] 54920.396  2128.076  2684.823 24048.744   964.914  1318.941 20092.987
## [15] 14009.625  5459.614  2644.549   248.396 34511.011   642.307 13514.349
## [22] 11738.889    20.680 13664.629  2905.253 17735.407  4117.145 26736.210
## [29]  1448.674  5352.788   858.471  3657.768
(A2021<-data1[data1$Año=="2021",2])
##  [1]  6352.217 21625.910   145.506  7056.073 25586.284   444.897   495.911
##  [8] 28618.956  1142.388  1535.099 13410.145   556.391   734.655 10719.460
## [15]  7576.998  3488.106  1691.865   106.127 19958.775   482.117  7722.035
## [22]  6939.177     5.466  7251.997  1919.448 10589.050  3200.589 14513.090
## [29]   926.142  3147.997   522.839  2168.847
mean(A2020); mean(A2021)#Estimamos el valor promedio de cada año
## [1] 11703.66
## [1] 6582.33
sd(A2020);sd(A2021)#Estimamos el valor de la desviación estandar de cada año
## [1] 14561.76
## [1] 7887.538
summary(A2020);summary(A2021)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##    20.68  1230.43  4734.97 11703.66 14941.07 54920.40
##      Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
##     5.466   690.089  3174.293  6582.330  8438.789 28618.956
#El promedio de exportaciones en millones de dólares del año 2020  es mayor que la del 2021; la dispersión del año 2020 es mayor (casi el doble) que la del 2021



#Con esta linea realizamos el modelo lineal de t-student a los datos de exportaciones por año.
#Se asume homocedasticidad y distribución normal de los residuales##
t.test(A2020, A2021,alternative="greater", paired=TRUE)
## 
##  Paired t-test
## 
## data:  A2020 and A2021
## t = 4.3172, df = 31, p-value = 7.509e-05
## alternative hypothesis: true difference in means is greater than 0
## 95 percent confidence interval:
##  3110.021      Inf
## sample estimates:
## mean of the differences 
##                 5121.33
#El valor de probabilidad asociada al valor de t obtenido es menor que el alfa (0.05)
#El obtener ese valor de magnitud de t es baja de ocurrir bajo el escenario de que la Ho es verdadera;
#Por tanto, rechazo la Ho, y tengo una probabilidad de 0.05 de equivocarme en esa aseveración.

Resultados

El promedio de exportaciones en millones de dólares (mdd) en el primer semestre del 2020 resulto en 11,703.66 mdd, mientras que el semestre del año 2021 resultó en 6,582 mdd. La prueba de t-stuent reveló que existen diferencias significativas ente los promedios por semestre, ya que el valor de probabilidad asociada al valor de t obtenido es menor que el alfa (0.05): t=4.3172, g.l.=31, p=7.59e-05.El obtener ese valor de magnitud de t es baja de ocurrir bajo el escenario de que la Ho es verdadera. Por tanto, se rechaza la H0 con una probabilidad de 0.05 de equivocarme en esa aseveración.

ANOVA de una via

Continuando con el análisis de las exportaciones de mercancías por entidad federativa; se realizó una prueba de ANOVA de una vía para determinar si el promedio de las exportaciones variaron a través de los años durante un periodo del año 2007 al 2020. Los datos de exportaciones por entidad federativa fueron obtenidos del portal del INEGI https://www.inegi.org.mx/temas/exportacionesef/

Las hipótesis a confrontar fueron las siguientes:

Hipótesis Nula (H0)= El promedio entre años fue igual. Hipótesis Alternativa (Ha)= El promedio entre años fue diferente.

setwd("C:/Users/miria/OneDrive/Escritorio/RSTUDIO")
data2<-read.xlsx("datos.xlsx",3)
head(data2)
##              Entidades Millones.de.dolares  Año
## 1       Aguascalientes            4389.841 2007
## 2      Baja California           31858.677 2007
## 3  Baja California Sur             148.998 2007
## 4             Campeche           29051.551 2007
## 5 Coahuila de Zaragoza           17469.635 2007
## 6               Colima              79.553 2007
summary(data2)
##   Entidades         Millones.de.dolares      Año      
##  Length:448         Min.   :   19.22    Min.   :2007  
##  Class :character   1st Qu.: 1029.18    1st Qu.:2010  
##  Mode  :character   Median : 4087.36    Median :2014  
##                     Mean   : 9946.41    Mean   :2014  
##                     3rd Qu.:16643.78    3rd Qu.:2017  
##                     Max.   :57434.14    Max.   :2020
data2$Año<-as.factor(data2$Año)

#Creamos un objeto con la insticcuion que ajuste un modelo lineal (ANOVA DE UNA VIA)
#El factor año contien más de un nivel##

mod1<-lm(data2$Millones.de.dolares~data2$Año)
anova(mod1)#Con esta linea creamoa la tabla de ANOVA con los valores del valor de F y su respectivo valor de probabilidad
## Analysis of Variance Table
## 
## Response: data2$Millones.de.dolares
##            Df     Sum Sq   Mean Sq F value Pr(>F)
## data2$Año  13 1.5813e+09 121640022  0.8275 0.6309
## Residuals 434 6.3800e+10 147004871
summary(mod1)#Esta linea arroja un resumen del modelo lineal con información importante como el intercepto y le pendiente de cada nivel.
## 
## Call:
## lm(formula = data2$Millones.de.dolares ~ data2$Año)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -12968  -8818  -5240   6347  44385 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)     7603.1     2177.6   3.491  0.00053 ***
## data2$Año2008    278.2     3032.6   0.092  0.92695    
## data2$Año2009  -1408.3     3055.5  -0.461  0.64511    
## data2$Año2010    475.2     3055.5   0.156  0.87648    
## data2$Año2011   1763.6     3055.5   0.577  0.56412    
## data2$Año2012   2397.4     3055.5   0.785  0.43311    
## data2$Año2013   2695.8     3055.5   0.882  0.37812    
## data2$Año2014   3258.2     3055.5   1.066  0.28687    
## data2$Año2015   2933.5     3055.5   0.960  0.33755    
## data2$Año2016   2550.1     3055.5   0.835  0.40440    
## data2$Año2017   3388.4     3055.5   1.109  0.26807    
## data2$Año2018   4919.1     3055.5   1.610  0.10814    
## data2$Año2019   5446.3     3055.5   1.782  0.07537 .  
## data2$Año2020   4100.6     3055.5   1.342  0.18028    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 12120 on 434 degrees of freedom
## Multiple R-squared:  0.02419,    Adjusted R-squared:  -0.005043 
## F-statistic: 0.8275 on 13 and 434 DF,  p-value: 0.6309

Resultados

El promedio de exportaciones en millones de dólares (mdd) a raves de los años no parece ser diferente (Fig. 3). La prueba de ANOVA reveló que NO existen diferencias significativas ente los promedios por años, ya que el valor de probabilidad asociada al valor de F obtenido es mayor que el alfa (0.05): F=0.8275, g.l.=13, p=0.6309.

setwd("C:/Users/miria/OneDrive/Escritorio/RSTUDIO")
data2<-read.xlsx("datos.xlsx",3)
boxplot(data2$Millones.de.dolares~data2$Año,las=1,ylab="", xlab="Año")

Regresión lineal bi-variada

Investigadores del hospital general en la Ciudad de México realizó un estudio para probar si un nuevo medicamento podría disminuir el ritmo cardiaco en la población con algún tipo de enfermedad cardiaca. Se le suministró distintas dosis en ml del medicamento y se monitorio la frecuencia cardiaca. Se aplicó una regresión lineal bi-variada para determinar la relación causa-efecto entre dichas variables mediante la ecuación: Frecuencia cardiaca= a+b*dosis.

La hipótesis nula a refutar será si no existe una relación entre la dosis del medicamento (en ml) y el ritmo cardiaco. La alternativa se refiere a que si existe dicha relación.

setwd("C:/Users/miria/OneDrive/Escritorio/RSTUDIO")
data3<-read.xlsx("datos.xlsx",4)
head(data3)
##   X1 DOSIS Y.OBS
## 1  1  0.50    10
## 2  2  0.75     8
## 3  3  1.00    12
## 4  4  1.25    14
## 5  5  1.50    12
## 6  6  1.75    14
summary(data3)
##        X1         DOSIS          Y.OBS      
##  Min.   : 1   Min.   :0.50   Min.   : 8.00  
##  1st Qu.: 4   1st Qu.:1.25   1st Qu.:12.00  
##  Median : 7   Median :2.00   Median :16.00  
##  Mean   : 7   Mean   :2.00   Mean   :15.38  
##  3rd Qu.:10   3rd Qu.:2.75   3rd Qu.:18.00  
##  Max.   :13   Max.   :3.50   Max.   :21.00
mod2.a<-lm(data3$Y.OBS~data3$DOSIS)#Ajustamos el modelo lineal bivariado, con el ritmo cardiaco como variable respuesta y la dosis como la variable independiente
anova(mod2.a)#Creamos la tabla ANOVA para estimar el valor de F y su valor asociado de probabilidad#
## Analysis of Variance Table
## 
## Response: data3$Y.OBS
##             Df  Sum Sq Mean Sq F value    Pr(>F)    
## data3$DOSIS  1 182.000 182.000  104.94 5.806e-07 ***
## Residuals   11  19.077   1.734                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
summary(mod2.a)#Esta linea nos arroja el coeficiente de determinación (bondad de ajuste) y el valor de los parámetros (intercepto y pendiente que goiernan la ecuación del modelo lineal)
## 
## Call:
## lm(formula = data3$Y.OBS ~ data3$DOSIS)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.3846 -0.3846 -0.3846  0.6154  1.6154 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)   7.3846     0.8621   8.566 3.39e-06 ***
## data3$DOSIS   4.0000     0.3905  10.244 5.81e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.317 on 11 degrees of freedom
## Multiple R-squared:  0.9051, Adjusted R-squared:  0.8965 
## F-statistic: 104.9 on 1 and 11 DF,  p-value: 5.806e-07

Resultados

La relación entre la frecuencia cardiaca y la dosis suministrada a los pacientes resultó positiva, lineal y directamente proporcional. El modelo ajustó a los datos mostrando valores de los coeficientes de intercepto=7.32 y de la pendiente= 4.00, obteniendo un buen ajusto debido al alto valor del coeficiente de determinación (R2=0.89).

setwd("C:/Users/miria/OneDrive/Escritorio/RSTUDIO")
par(mfrow=c(1,1), mar=c(4,4,1,1), cex=.7)
plot(data3$Y.OBS~data3$DOSIS,las=1, ylab="Ritmo cardiaco", 
     xlab="Dosis (ml)")
abline(mod2.a,col=2)
abline(h=mean(data2$Millones.de.dolares ),col=4)