#Integrantes del Grupo

#Roberto Alexander Escobar Polío

#María De Los Ángeles Morán Arteaga

#Andrea Marisol Sosa Guzmán

#José Ernesto Castro Gonzales

#Katya Michelle Palacios paz

#Andrea Carolina Reyes Salazar

#Donal Antonio Monroy Castellón

Parte 1 Análisis descriptivo correlacional

installed.packages("readxl") 
library(readxl) #Carga el paquete readxl que contiene la función read_excel para leer el archivo de excel que contiene la base de datos
## Warning: package 'readxl' was built under R version 4.1.3
bb=read_excel("Ahuachapan Variables seleccionadas de la EHPM 2019.xlsx", sheet = 1) 
bb #Observamos la base de datos en R 
## # A tibble: 99 x 7
##    `Tipo de seguro médico` `Segmentación del~ `Personas que se~ `Gasto del hoga~
##    <chr>                   <chr>                          <dbl>            <dbl>
##  1 ISSS retirado(a)        Inactivo                           0               0 
##  2 ISSS retirado(a)        Informal                           1               0 
##  3 No tiene                Inactivo                           1               0 
##  4 ISSS beneficiario(a)    Inactivo                           0               0 
##  5 ISSS retirado(a)        Inactivo                           0               0 
##  6 No tiene                Inactivo                           0               0 
##  7 No tiene                Informal                           0             123.
##  8 No tiene                Inactivo                           0             123.
##  9 No tiene                Inactivo                           0             123.
## 10 No tiene                Inactivo                           0             123.
## # ... with 89 more rows, and 3 more variables:
## #   Gasto del hogar en alimentos <dbl>, Gasto del hogar en salud <dbl>,
## #   Gasto del hogar en ropa <dbl>
View(bb) #Visualizamos la base de datos en formato de tabla en R
names(bb) #Nombres de las variables en la base de datos
## [1] "Tipo de seguro médico"                  
## [2] "Segmentación del mercado laboral urbano"
## [3] "Personas que se enfermaron del hogar"   
## [4] "Gasto del hogar en educación"           
## [5] "Gasto del hogar en alimentos"           
## [6] "Gasto del hogar en salud"               
## [7] "Gasto del hogar en ropa"

1- Histogramas

#Histograma de gasto de hogar en educación

hist(bb$`Gasto del hogar en educación`, main = "Histograma de gasto de hogar en educación", xlab = "gasto de hogar en educación", 
     ylab = "Frecuencia", col = "lightblue", breaks = 10, labels = TRUE) 

#Histograma de Gasto del hogar en alimentos
hist(bb$`Gasto del hogar en alimentos` , main = "Histograma de Gasto del hogar en alimentos", xlab = "Gasto del hogar en alimentos", 
     ylab = "Frecuencia", col = "Green", breaks = 10, labels = TRUE)

2- Gráfico de barras de Gasto del hogar en salud

nm=table(bb$`Gasto del hogar en salud`)
nm
## 
## 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 73 74 75 
##  5  2  4  3  5  4  3  8  3  4  4  3  5  2  5  6  2  4  5  5  3  5  4  5
pn=round(prop.table(nm)*100, 2)
pn
## 
##   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66 
## 5.05 2.02 4.04 3.03 5.05 4.04 3.03 8.08 3.03 4.04 4.04 3.03 5.05 2.02 5.05 6.06 
##   67   68   69   70   71   73   74   75 
## 2.02 4.04 5.05 5.05 3.03 5.05 4.04 5.05
barplot(pn, main="Gráfico de barras de Gasto del hogar en salud", xlab="Gasto del hogar en salud", 
        ylab = "Porcentajes", col = "red", legend.text = rownames(pn))

3- Gráfico de barras de tipo de combustible que usa el autobus

fr <- table(bb$`Tipo de seguro médico`)
fr
## 
##     Hospital Militar ISSS beneficiario(a)       ISSS cotizante 
##                    1                    5                    7 
##     ISSS retirado(a)             No tiene 
##                    5                   81
pr=round(prop.table(fr)*100, 2)
pr
## 
##     Hospital Militar ISSS beneficiario(a)       ISSS cotizante 
##                 1.01                 5.05                 7.07 
##     ISSS retirado(a)             No tiene 
##                 5.05                81.82
barplot(pr, main="Gráfico de barras de barras de tipo de Tipo de seguro médico", 
        xlab=" Tipo de seguro médico", ylab = "Porcentajes", ylim = c(0, 70), 
        col = "blue", legend.text = rownames(pr))

4- Grafico de Pastel de Segmentación del mercado laboral urbano

fv <- table(bb$`Segmentación del mercado laboral urbano`)
fv
## 
##         desocupado             Formal           Inactivo           Informal 
##                  9                 20                 38                 23 
## Nunca ha trabajado Servicio doméstico 
##                  6                  3
pv=round(prop.table(fv)*100, 2)

names(pv) = c("Inactivo", "formal", "Informal", "servicio domestico", "nunca ha trabajado", "desocupado")
n <- length(pv)
hoja <- data.frame(pv)
etiq <- c(paste(hoja$Var1, "-", hoja$Freq))
pie(pv, main="Gráfico de pastel de Segmentación del mercado laboral urbano", xlab="Tipos de Segmentación del mercado laboral urbano\n", 
    labels=etiq, col= rainbow(n), border=TRUE)

5- Tabla de contingencia de las variables cualitativas Tipo de seguro médico y Segmentación del mercado laboral urbano

tablaRazonForma=table(bb$`Tipo de seguro médico`, bb$`Segmentación del mercado laboral urbano`)
tablaRazonForma
##                       
##                        desocupado Formal Inactivo Informal Nunca ha trabajado
##   Hospital Militar              0      1        0        0                  0
##   ISSS beneficiario(a)          0      0        4        0                  0
##   ISSS cotizante                0      7        0        0                  0
##   ISSS retirado(a)              0      0        4        1                  0
##   No tiene                      9     12       30       22                  6
##                       
##                        Servicio doméstico
##   Hospital Militar                      0
##   ISSS beneficiario(a)                  1
##   ISSS cotizante                        0
##   ISSS retirado(a)                      0
##   No tiene                              2

6- Analisis de Correlación

bc=bb[,5:7] #Creamos una base de datos con tres variables cuantitativas
bc
## # A tibble: 99 x 3
##    `Gasto del hogar en alimentos` `Gasto del hogar en salud` `Gasto del hogar e~
##                             <dbl>                      <dbl>               <dbl>
##  1                            283                         62                  76
##  2                            214                         55                  92
##  3                            272                         68                  88
##  4                            109                         60                  96
##  5                            176                         74                  43
##  6                            182                         69                  34
##  7                            190                         69                  65
##  8                            235                         58                  91
##  9                            142                         62                  48
## 10                            162                         58                  79
## # ... with 89 more rows
View(bc) #Visualizamos la base de datos en formato de tabla dentro de RStudio

#Se realiza un análisis de correlación:
pairs(bc, col = c("black", "red", "green")) #Matriz de diagramas de dispersión con las tres variables cuantitativas

cor(bc, use = "complete.obs") #Matriz de correlaciones
##                              Gasto del hogar en alimentos
## Gasto del hogar en alimentos                   1.00000000
## Gasto del hogar en salud                       0.09747528
## Gasto del hogar en ropa                       -0.67684771
##                              Gasto del hogar en salud Gasto del hogar en ropa
## Gasto del hogar en alimentos               0.09747528             -0.67684771
## Gasto del hogar en salud                   1.00000000             -0.06574213
## Gasto del hogar en ropa                   -0.06574213              1.00000000

## 7- Análisis de regresión lineal simple

regresion <- lm(bc$`Gasto del hogar en alimentos` ~ bc$`Gasto del hogar en ropa`, data = bc, na.action = na.omit)
summary(regresion)
## 
## Call:
## lm(formula = bc$`Gasto del hogar en alimentos` ~ bc$`Gasto del hogar en ropa`, 
##     data = bc, na.action = na.omit)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -127.076  -42.348    2.348   38.114   93.529 
## 
## Coefficients:
##                               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)                  245.14924   11.04849  22.188  < 2e-16 ***
## bc$`Gasto del hogar en ropa`  -0.72293    0.07983  -9.056 1.47e-14 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 52.29 on 97 degrees of freedom
## Multiple R-squared:  0.4581, Adjusted R-squared:  0.4525 
## F-statistic: 82.01 on 1 and 97 DF,  p-value: 1.466e-14
plot(bc$`Gasto del hogar en ropa`, bc$`Gasto del hogar en alimentos`, xlab="Gasto del hogar en ropa", 
     ylab="Gasto del hogar en alimentos", col = rainbow(2)) #Diagrama de dispersión entre las variables
abline( regresion, col = "black") #añadir la recta al gráfico

Parte 2 Elaboración de Distribuciones de Probabilidad

Distribución binomial

La probabilidad de que cierto jugador de basket enceste un triple es de 43%. Si en un determinado partido este jugador intenta 10 triples, cual sería la probabilidad de que enceste 1,2,3,4 hasta los 10 triples. Con una distribución binomial:

#Sea X= Numero de veces que cae un 6

n=10                           #Tamaño de la muestra

p=0.43                         #Probabilidad de éxito

x=c(1, 2, 3, 4, 5, 6,7,8,9,10) #Valores que toma la variable aleatoria binomial
x
##  [1]  1  2  3  4  5  6  7  8  9 10
pb=dbinom(x, n, p)             #Distribución de probabilidad de la variable binomial
pb
##  [1] 0.0273112864 0.0927146302 0.1865136420 0.2462307291 0.2229036074
##  [6] 0.1401294608 0.0604066849 0.0170887332 0.0028647779 0.0002161148
plot(x, pb, type="l", main = "Distribución de probabilidad de la variable X binomial",  col= "black", lwd=2.0 ) #Grafico pb

pab=pbinom(x, n, p)            #Distribución de probabilidad acumulada de la variable binomial
pab
##  [1] 0.03093162 0.12364625 0.31015989 0.55639062 0.77929423 0.91942369
##  [7] 0.97983037 0.99691911 0.99978389 1.00000000
plot(x, pab, type="l", main = "Distribucion de probabilidad acumulada de la variable X binomial", col= "black", lwd=2.0) #Grafico pab

Distribución de Poisson

Imaginémonos que en una de las oficinas de Teleperformance reciben en promedio alrededor de unas 50 llamadas por hora. Para encontrar la distribución de probabilidad de esta variable aleatoria sería:

#Sea X=número de llamadas que Teleperformance recibe en una determinada hora.

l=50     #número aproximado de llamadas que se reciben en  Teleperformance en  un determinada oficina a cierta hora (Lambda)

x=c(0:70)            #Valores que toma la variable de Poisson: X=0, 1, 2, 3, 4,
x
##  [1]  0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
## [26] 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
## [51] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
pp=dpois(x,l)        #Distribución de probabilidad de la variable de Poisson
pp
##  [1] 1.928750e-22 9.643749e-21 2.410937e-19 4.018229e-18 5.022786e-17
##  [6] 5.022786e-16 4.185655e-15 2.989754e-14 1.868596e-13 1.038109e-12
## [11] 5.190544e-12 2.359338e-11 9.830577e-11 3.780991e-10 1.350354e-09
## [16] 4.501180e-09 1.406619e-08 4.137114e-08 1.149198e-07 3.024206e-07
## [21] 7.560515e-07 1.800123e-06 4.091188e-06 8.893886e-06 1.852893e-05
## [26] 3.705786e-05 7.126512e-05 1.319724e-04 2.356651e-04 4.063191e-04
## [31] 6.771985e-04 1.092256e-03 1.706649e-03 2.585832e-03 3.802695e-03
## [36] 5.432421e-03 7.545029e-03 1.019599e-02 1.341577e-02 1.719970e-02
## [41] 2.149963e-02 2.621906e-02 3.121317e-02 3.629438e-02 4.124362e-02
## [46] 4.582624e-02 4.981113e-02 5.299057e-02 5.519851e-02 5.632501e-02
## [51] 5.632501e-02 5.522059e-02 5.309673e-02 5.009125e-02 4.638079e-02
## [56] 4.216435e-02 3.764674e-02 3.302346e-02 2.846850e-02 2.412585e-02
## [61] 2.010487e-02 1.647940e-02 1.328984e-02 1.054749e-02 8.240229e-03
## [66] 6.338638e-03 4.801998e-03 3.583581e-03 2.634986e-03 1.909410e-03
## [71] 1.363864e-03
plot(x, pp, type="l", main = "Distribución de probabilidad de la variable X de poisson",  col= "black", lwd=2.0 ) #Grafico pp

pap=ppois(x, l)      #Distribución de probabilidad acumulada de la variable de Poisson
pap
##  [1] 1.928750e-22 9.836624e-21 2.509304e-19 4.269159e-18 5.449702e-17
##  [6] 5.567756e-16 4.742431e-15 3.463997e-14 2.214996e-13 1.259608e-12
## [11] 6.450153e-12 3.004354e-11 1.283493e-10 5.064484e-10 1.856802e-09
## [16] 6.357982e-09 2.042417e-08 6.179531e-08 1.767151e-07 4.791357e-07
## [21] 1.235187e-06 3.035310e-06 7.126498e-06 1.602038e-05 3.454931e-05
## [26] 7.160717e-05 1.428723e-04 2.748447e-04 5.105098e-04 9.168289e-04
## [31] 1.594027e-03 2.686283e-03 4.392932e-03 6.978765e-03 1.078146e-02
## [36] 1.621388e-02 2.375891e-02 3.395489e-02 4.737066e-02 6.457037e-02
## [41] 8.607000e-02 1.122891e-01 1.435022e-01 1.797966e-01 2.210402e-01
## [46] 2.668665e-01 3.166776e-01 3.696682e-01 4.248667e-01 4.811917e-01
## [51] 5.375167e-01 5.927373e-01 6.458340e-01 6.959253e-01 7.423060e-01
## [56] 7.844704e-01 8.221171e-01 8.551406e-01 8.836091e-01 9.077349e-01
## [61] 9.278398e-01 9.443192e-01 9.576091e-01 9.681566e-01 9.763968e-01
## [66] 9.827354e-01 9.875374e-01 9.911210e-01 9.937560e-01 9.956654e-01
## [71] 9.970293e-01
plot(x, pap, type="l", main = "Distribucion de probabilidad acumulada de la variable X de poisson", col= "black", lwd=2.0) #Grafico pap

Distribución Normal

En una empresa de El Salvador, el saldo promedio es de 800 dólares y tiene una desviación estándar de 200 dólares. Estos datos siguen una distribución normal.

mu=800 #Media de la variable normal
sd=200 #Desviación estándar de la variable normal
x=rnorm(1:1000, mu, sd) #Genera un vector de valores aleatorios provenientes de una distribución normal con parámetros mu=800, y sd=200.
pnr=dnorm(x, mu, sd) #Obtiene un vector de valores de densidad que caen sobre la curva normal
plot(x, pnr, main = "Curva normal de la variable aleatoria X", col= "red" ) #Dibuja la curva normal

Grafico de la probabilidad asociada al valor de z<-0.5 [P(x<700)] (Probabilidad de que el salario de un determinado empleado sea 700)

z1=(700-mu)/sd #Estandarizamos el valor de la variable
z1
## [1] -0.5
#Grafico
cord.x=c(-3, seq(-3, z1, 0.01), z1)
cord.y=c(0, dnorm(seq(-3, z1, 0.01)), 0)
curve(dnorm(x, 0, 1), xlim = c(-3, 3), main="Normal estandar", xlab = "Z")
polygon(cord.x, cord.y, col="#3357FF")
area=pnorm(z1, 0, 1)
area
## [1] 0.3085375
result=paste("P(Z<", z1, ")=", signif(area, digits = 4))
mtext(result, 3)

Grafico del área en el intervalo z1=-1.5 <Z < z2=0.5 [P(500<X<900)] (Probabilidad de que el salario de un empleado esté entre 500 y 900 dólares)

z1=(500-mu)/sd #Estandarizamos el valor del límite inferior del intervalo
z1
## [1] -1.5
z2=(900-mu)/sd #Estandarizamos el valor del límite superior del intervalo
z2
## [1] 0.5
#Grafico
cord.x=c(z1, seq(z1, z2, 0.01), z2)
cord.y=c(0, dnorm(seq(z1, z2, 0.01)), 0)
curve(dnorm(x, 0, 1), xlim = c(-3, 3), main="Normal estandar", xlab = "Z")
polygon(cord.x, cord.y, col="#3357FF")
area=pnorm(z2, 0, 1)-pnorm(z1, 0, 1)
area
## [1] 0.6246553
result=paste("P(", z1, "< Z <", z2, ")=", signif(area, digits = 4))
mtext(result, 3)

Grafico de la probabilidad asociada al valor de z>=-0.5 [P(x>700)] (Probabilidad de que el salario de un empleado sea mayor a 700)

z1=(700-mu)/sd #Estandarizamos el valor de la variable
z1
## [1] -0.5
#Grafico
cord.x=c(z1, seq(z1, 3.0, 0.01), 3.0)
cord.y=c(0, dnorm(seq(z1, 3.0, 0.01)), 0)
curve(dnorm(x, 0, 1), xlim = c(-3, 3), main="Normal estandar", xlab = "Z")
polygon(cord.x, cord.y, col="#3357FF")
area=1-pnorm(z1, 0, 1)
area
## [1] 0.6914625
result=paste("P(Z>", z1, ")=", signif(area, digits = 4))
mtext(result, 3)