rm(list=ls()) #Limpiar entorno de trabajo
setwd("/home/daniel/Dropbox/U CENTRAL/02 2020/01 Primer semestre 2020/Analisis de datos cuantitativos I/Clases/09") #Escribir el directorio en que va a trabajar
#Si su pc no tiene instalado los paquetes, primero ejecutar:
#install.packages("foreign")
library(foreign) #Cargar paquete de importación y exportación de datos
#Si su pc no tiene instalado los paquetes, primero ejecutar:
#install.packages("xtable")
library(xtable) #Cargar paquete de tablas completas con formato LaTeX

Abrir base de datos CEP 84 (Diciembre 2019)

CEP84 <- read.spss("/home/daniel/Dropbox/U CENTRAL/02 2020/01 Primer semestre 2020/Analisis de datos cuantitativos I/Bases de datos/CEP84/Encuesta CEP 84 Dic 2019 v1.sav", to.data.frame = TRUE)

Análisis descriptivo bivariado entre variables categóricas

Se analizarán las variables “Percepción de la situación económica del país” (MB_P2) y “Nivel de endeudamiento” (DS_P28).

Distribución conjunta de frecuencias absolutas

Primero, definir ‘No sabe’ y ‘No contesta’ como valores perdidos.

CEP84$MB_P2[CEP84$MB_P2=="8. - No sabe"]<-NA
CEP84$MB_P2[CEP84$MB_P2=="9. - No contesta"]<-NA
CEP84$MB_P2<-droplevels(CEP84$MB_P2)

CEP84$DS_P28[CEP84$DS_P28=="88.- No sabe"]<-NA
CEP84$DS_P28[CEP84$DS_P28=="99.- No contesta"]<-NA
CEP84$DS_P28<-droplevels(CEP84$DS_P28)

Mejorar un poco el formato de los niveles de cada factor a analizar (categorías de las variables).

levels(CEP84$MB_P2) #Consultar niveles
## [1] "1. - MUY MALA"         "2. - MALA"             "3. - NI BUENA NI MALA"
## [4] "4. - BUENA"            "5. - MUY BUENA"
levels(CEP84$MB_P2) <- c("Muy mala", "Mala", "Ni buena ni mala", "Buena", "Muy buena") #Modificar niveles

levels(CEP84$DS_P28) #Consultar niveles
## [1] "1.- Muy alto"               "2.- Alto"                  
## [3] "3.- Moderado"               "4.- Bajo"                  
## [5] "5.- No tengo ninguna deuda"
levels(CEP84$DS_P28) <- c("Muy alto", "Alto", "Moderado", "Bajo", "No tengo ninguna deuda") #Modificar niveles

Tabla cruzada básica con freuencias absolutas.

table(CEP84$DS_P28, CEP84$MB_P2)
##                         
##                          Muy mala Mala Ni buena ni mala Buena Muy buena
##   Muy alto                     19   43               18    14         0
##   Alto                         32  107               67    20         1
##   Moderado                     61  288              251    40         2
##   Bajo                         43  145              111    21         2
##   No tengo ninguna deuda       29   81               59    17         1

Tabla cruzada con frecuencias absolutas, en formato LaTeX.

tabla1<-table(CEP84$DS_P28, CEP84$MB_P2)
xtable(tabla1, caption = "Percepción de situación económica del país, según nivel de endeudamiento")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrr}
##   \hline
##  & Muy mala & Mala & Ni buena ni mala & Buena & Muy buena \\ 
##   \hline
## Muy alto &  19 &  43 &  18 &  14 &   0 \\ 
##   Alto &  32 & 107 &  67 &  20 &   1 \\ 
##   Moderado &  61 & 288 & 251 &  40 &   2 \\ 
##   Bajo &  43 & 145 & 111 &  21 &   2 \\ 
##   No tengo ninguna deuda &  29 &  81 &  59 &  17 &   1 \\ 
##    \hline
## \end{tabular}
## \caption{Percepción de situación económica del país, según nivel de endeudamiento} 
## \end{table}

Distribución conjunta de frecuencias relativas

Tabla cruzada básica con frecuencias relativas.

tabla2 <- table(CEP84$DS_P28, CEP84$MB_P2)
tabla2 <- prop.table(tabla2)
tabla2
##                         
##                              Muy mala         Mala Ni buena ni mala
##   Muy alto               0.0129076087 0.0292119565     0.0122282609
##   Alto                   0.0217391304 0.0726902174     0.0455163043
##   Moderado               0.0414402174 0.1956521739     0.1705163043
##   Bajo                   0.0292119565 0.0985054348     0.0754076087
##   No tengo ninguna deuda 0.0197010870 0.0550271739     0.0400815217
##                         
##                                 Buena    Muy buena
##   Muy alto               0.0095108696 0.0000000000
##   Alto                   0.0135869565 0.0006793478
##   Moderado               0.0271739130 0.0013586957
##   Bajo                   0.0142663043 0.0013586957
##   No tengo ninguna deuda 0.0115489130 0.0006793478

Tabla cruzada con frecuencias relativas, en formato LaTeX.

xtable(tabla2, caption = "Percepción de situación económica del país, según nivel de endeudamiento")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrr}
##   \hline
##  & Muy mala & Mala & Ni buena ni mala & Buena & Muy buena \\ 
##   \hline
## Muy alto & 0.01 & 0.03 & 0.01 & 0.01 & 0.00 \\ 
##   Alto & 0.02 & 0.07 & 0.05 & 0.01 & 0.00 \\ 
##   Moderado & 0.04 & 0.20 & 0.17 & 0.03 & 0.00 \\ 
##   Bajo & 0.03 & 0.10 & 0.08 & 0.01 & 0.00 \\ 
##   No tengo ninguna deuda & 0.02 & 0.06 & 0.04 & 0.01 & 0.00 \\ 
##    \hline
## \end{tabular}
## \caption{Percepción de situación económica del país, según nivel de endeudamiento} 
## \end{table}

Distribuciones marginales de frecuencias absolutas

Tabla cruzada básica con distribuciones marginales de frecuencias absolutas.

tabla3 <- table(CEP84$DS_P28, CEP84$MB_P2)
Total <- margin.table(tabla3,1) #Filas
tabla3 <- cbind(tabla3, Total)
Total <- margin.table(tabla3,2) #Columnas
tabla3 <- rbind(tabla3, Total)
tabla3
##                        Muy mala Mala Ni buena ni mala Buena Muy buena Total
## Muy alto                     19   43               18    14         0    94
## Alto                         32  107               67    20         1   227
## Moderado                     61  288              251    40         2   642
## Bajo                         43  145              111    21         2   322
## No tengo ninguna deuda       29   81               59    17         1   187
## Total                       184  664              506   112         6  1472

Tabla cruzada con con distribuciones marginales de frecuencias absolutas, en formato LaTeX.

xtable(tabla3, caption = "Percepción de situación económica del país, según nivel de endeudamiento")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrrr}
##   \hline
##  & Muy mala & Mala & Ni buena ni mala & Buena & Muy buena & Total \\ 
##   \hline
## Muy alto &  19 &  43 &  18 &  14 &   0 &  94 \\ 
##   Alto &  32 & 107 &  67 &  20 &   1 & 227 \\ 
##   Moderado &  61 & 288 & 251 &  40 &   2 & 642 \\ 
##   Bajo &  43 & 145 & 111 &  21 &   2 & 322 \\ 
##   No tengo ninguna deuda &  29 &  81 &  59 &  17 &   1 & 187 \\ 
##   Total & 184 & 664 & 506 & 112 &   6 & 1472 \\ 
##    \hline
## \end{tabular}
## \caption{Percepción de situación económica del país, según nivel de endeudamiento} 
## \end{table}

Distribuciones marginales de frecuencias relativas

Tabla cruzada básica con distribuciones marginales de frecuencias relativas.

tabla4 <- table(CEP84$DS_P28, CEP84$MB_P2)
tabla4 <- prop.table(tabla4)
Total <- margin.table(tabla4,1) #Filas
tabla4 <- cbind(tabla4, Total)
Total <- margin.table(tabla4,2) #Columnas
tabla4 <- rbind(tabla4, Total)
tabla4
##                          Muy mala       Mala Ni buena ni mala      Buena
## Muy alto               0.01290761 0.02921196       0.01222826 0.00951087
## Alto                   0.02173913 0.07269022       0.04551630 0.01358696
## Moderado               0.04144022 0.19565217       0.17051630 0.02717391
## Bajo                   0.02921196 0.09850543       0.07540761 0.01426630
## No tengo ninguna deuda 0.01970109 0.05502717       0.04008152 0.01154891
## Total                  0.12500000 0.45108696       0.34375000 0.07608696
##                           Muy buena     Total
## Muy alto               0.0000000000 0.0638587
## Alto                   0.0006793478 0.1542120
## Moderado               0.0013586957 0.4361413
## Bajo                   0.0013586957 0.2187500
## No tengo ninguna deuda 0.0006793478 0.1270380
## Total                  0.0040760870 1.0000000

Tabla cruzada con con distribuciones marginales de frecuencias relativas, en formato LaTeX.

xtable(tabla4, caption = "Percepción de situación económica del país, según nivel de endeudamiento")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrrr}
##   \hline
##  & Muy mala & Mala & Ni buena ni mala & Buena & Muy buena & Total \\ 
##   \hline
## Muy alto & 0.01 & 0.03 & 0.01 & 0.01 & 0.00 & 0.06 \\ 
##   Alto & 0.02 & 0.07 & 0.05 & 0.01 & 0.00 & 0.15 \\ 
##   Moderado & 0.04 & 0.20 & 0.17 & 0.03 & 0.00 & 0.44 \\ 
##   Bajo & 0.03 & 0.10 & 0.08 & 0.01 & 0.00 & 0.22 \\ 
##   No tengo ninguna deuda & 0.02 & 0.06 & 0.04 & 0.01 & 0.00 & 0.13 \\ 
##   Total & 0.12 & 0.45 & 0.34 & 0.08 & 0.00 & 1.00 \\ 
##    \hline
## \end{tabular}
## \caption{Percepción de situación económica del país, según nivel de endeudamiento} 
## \end{table}

Distribuciones condicionadas

Primero, se condiciona por las filas. Tabla con formato básico.

tabla5 <- table(CEP84$DS_P28, CEP84$MB_P2)
tabla5 <- prop.table(tabla5,1)
#Agregar las distribuciones marginales hace más fácil de leer la tabla
Total <- margin.table(tabla5,1) #Filas
tabla5 <- cbind(tabla5, Total)
Total <- margin.table(tabla5,2) #Columnas
tabla5 <- rbind(tabla5, Total)
tabla5[nrow(tabla5), ncol(tabla5)] <- 1
tabla5
##                          Muy mala      Mala Ni buena ni mala      Buena
## Muy alto               0.20212766 0.4574468        0.1914894 0.14893617
## Alto                   0.14096916 0.4713656        0.2951542 0.08810573
## Moderado               0.09501558 0.4485981        0.3909657 0.06230530
## Bajo                   0.13354037 0.4503106        0.3447205 0.06521739
## No tengo ninguna deuda 0.15508021 0.4331551        0.3155080 0.09090909
## Total                  0.72673299 2.2608762        1.5378378 0.45547368
##                          Muy buena Total
## Muy alto               0.000000000     1
## Alto                   0.004405286     1
## Moderado               0.003115265     1
## Bajo                   0.006211180     1
## No tengo ninguna deuda 0.005347594     1
## Total                  0.019079325     1

Distribución condicionada por fila, en formato LaTeX.

xtable(tabla5, caption = "Percepción de situación económica del país, según nivel de endeudamiento")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrrr}
##   \hline
##  & Muy mala & Mala & Ni buena ni mala & Buena & Muy buena & Total \\ 
##   \hline
## Muy alto & 0.20 & 0.46 & 0.19 & 0.15 & 0.00 & 1.00 \\ 
##   Alto & 0.14 & 0.47 & 0.30 & 0.09 & 0.00 & 1.00 \\ 
##   Moderado & 0.10 & 0.45 & 0.39 & 0.06 & 0.00 & 1.00 \\ 
##   Bajo & 0.13 & 0.45 & 0.34 & 0.07 & 0.01 & 1.00 \\ 
##   No tengo ninguna deuda & 0.16 & 0.43 & 0.32 & 0.09 & 0.01 & 1.00 \\ 
##   Total & 0.73 & 2.26 & 1.54 & 0.46 & 0.02 & 1.00 \\ 
##    \hline
## \end{tabular}
## \caption{Percepción de situación económica del país, según nivel de endeudamiento} 
## \end{table}

Luego, se condiciona por las columnas. Tabla con formato básico.

tabla6 <- table(CEP84$DS_P28, CEP84$MB_P2)
tabla6 <- prop.table(tabla6,2) #Distribución condicionada por columnas
#Agregar las distribuciones marginales hace más fácil de leer la tabla
Total <- margin.table(tabla6,1) #Filas
tabla6 <- cbind(tabla6, Total)
Total <- margin.table(tabla6,2) #Columnas
tabla6 <- rbind(tabla6, Total)
tabla6[nrow(tabla6), ncol(tabla6)] <- 1
tabla6
##                         Muy mala       Mala Ni buena ni mala     Buena
## Muy alto               0.1032609 0.06475904       0.03557312 0.1250000
## Alto                   0.1739130 0.16114458       0.13241107 0.1785714
## Moderado               0.3315217 0.43373494       0.49604743 0.3571429
## Bajo                   0.2336957 0.21837349       0.21936759 0.1875000
## No tengo ninguna deuda 0.1576087 0.12198795       0.11660079 0.1517857
## Total                  1.0000000 1.00000000       1.00000000 1.0000000
##                        Muy buena     Total
## Muy alto               0.0000000 0.3285930
## Alto                   0.1666667 0.8127068
## Moderado               0.3333333 1.9517803
## Bajo                   0.3333333 1.1922701
## No tengo ninguna deuda 0.1666667 0.7146498
## Total                  1.0000000 1.0000000

Distribución condicionada por columna, en formato LaTeX.

xtable(tabla6, caption = "Nivel de endeudamiento, según percepción de la situación económica del país")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrrr}
##   \hline
##  & Muy mala & Mala & Ni buena ni mala & Buena & Muy buena & Total \\ 
##   \hline
## Muy alto & 0.10 & 0.06 & 0.04 & 0.12 & 0.00 & 0.33 \\ 
##   Alto & 0.17 & 0.16 & 0.13 & 0.18 & 0.17 & 0.81 \\ 
##   Moderado & 0.33 & 0.43 & 0.50 & 0.36 & 0.33 & 1.95 \\ 
##   Bajo & 0.23 & 0.22 & 0.22 & 0.19 & 0.33 & 1.19 \\ 
##   No tengo ninguna deuda & 0.16 & 0.12 & 0.12 & 0.15 & 0.17 & 0.71 \\ 
##   Total & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 \\ 
##    \hline
## \end{tabular}
## \caption{Nivel de endeudamiento, según percepción de la situación económica del país} 
## \end{table}

Análisis descriptivo bivariado entre variables categóricas y continuas

Se analizarán las variables “Nivel de endeudamiento” (DS_P28) y “Edad” (DS_P2_EXACTA).

Primero, se configura correctamente a la variable DS_P2_EXACTA.

class(CEP84$DS_P2_EXACTA) # qué tipo de objeto es? factor
## [1] "factor"
CEP84$edad <- as.numeric(as.character(CEP84$DS_P2_EXACTA)) # transformamos a objeto "numeric"

Media condicionada

Cálculo.

tabla7 <- aggregate(CEP84$edad, list(CEP84$DS_P28), mean)
tabla7
##                  Group.1        x
## 1               Muy alto 42.15957
## 2                   Alto 44.34361
## 3               Moderado 47.78849
## 4                   Bajo 51.26398
## 5 No tengo ninguna deuda 55.21390

Modificamos un poco para generar un reporte básico.

#Nombres de las columnas
names(tabla7) <- c("Nivel de endeudamiento", "Media de Edad")
#Redondear a dos decimales
tabla7$`Media de Edad` <- round(tabla7$`Media de Edad`,2)

tabla7
##   Nivel de endeudamiento Media de Edad
## 1               Muy alto         42.16
## 2                   Alto         44.34
## 3               Moderado         47.79
## 4                   Bajo         51.26
## 5 No tengo ninguna deuda         55.21

Reporte en formato LaTeX.

tabla7[,1] <- NULL
#Nombres de las columnas
names(tabla7) <- c("Media")
#Nombres de la filas
rownames(tabla7) <- levels(CEP84$DS_P28)

#Tabla LaTeX
xtable(tabla7, caption = "Nivel de endeudamiento y Edad")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rr}
##   \hline
##  & Media \\ 
##   \hline
## Muy alto & 42.16 \\ 
##   Alto & 44.34 \\ 
##   Moderado & 47.79 \\ 
##   Bajo & 51.26 \\ 
##   No tengo ninguna deuda & 55.21 \\ 
##    \hline
## \end{tabular}
## \caption{Nivel de endeudamiento y Edad} 
## \end{table}

Mediana condicionada

Cálculo.

tabla8 <- aggregate(CEP84$edad, list(CEP84$DS_P28), median)
tabla8
##                  Group.1  x
## 1               Muy alto 37
## 2                   Alto 45
## 3               Moderado 48
## 4                   Bajo 53
## 5 No tengo ninguna deuda 60

Modificamos un poco para generar un reporte básico.

#Nombres de las columnas
names(tabla8) <- c("Nivel de endeudamiento", "Mediana de Edad")

tabla8
##   Nivel de endeudamiento Mediana de Edad
## 1               Muy alto              37
## 2                   Alto              45
## 3               Moderado              48
## 4                   Bajo              53
## 5 No tengo ninguna deuda              60

Reporte en formato LaTeX.

tabla8[,1] <- NULL
#Nombres de las columnas
names(tabla8) <- c("Mediana")
#Nombres de la filas
rownames(tabla8) <- levels(CEP84$DS_P28)

#Tabla LaTeX
xtable(tabla8, caption = "Nivel de endeudamiento y Edad")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rr}
##   \hline
##  & Mediana \\ 
##   \hline
## Muy alto & 37.00 \\ 
##   Alto & 45.00 \\ 
##   Moderado & 48.00 \\ 
##   Bajo & 53.00 \\ 
##   No tengo ninguna deuda & 60.00 \\ 
##    \hline
## \end{tabular}
## \caption{Nivel de endeudamiento y Edad} 
## \end{table}

Desviación estándar condicionada

Cálculo.

tabla9 <- aggregate(CEP84$edad, list(CEP84$DS_P28), sd)
tabla9
##                  Group.1        x
## 1               Muy alto 15.35130
## 2                   Alto 15.15775
## 3               Moderado 16.46128
## 4                   Bajo 18.76071
## 5 No tengo ninguna deuda 21.64243

Modificamos un poco para generar un reporte básico.

#Nombres de las columnas
names(tabla9) <- c("Nivel de endeudamiento", "Desviación estándar de Edad")
#Redondear a dos decimales
tabla9$`Desviación estándar de Edad` <- round(tabla9$`Desviación estándar de Edad`,2)

tabla9
##   Nivel de endeudamiento Desviación estándar de Edad
## 1               Muy alto                       15.35
## 2                   Alto                       15.16
## 3               Moderado                       16.46
## 4                   Bajo                       18.76
## 5 No tengo ninguna deuda                       21.64

Reporte en formato LaTeX.

tabla9[,1] <- NULL
#Nombres de las columnas
names(tabla9) <- c("Desviación estándar")
#Nombres de la filas
rownames(tabla9) <- levels(CEP84$DS_P28)
#Tabla LaTeX
xtable(tabla9, caption = "Nivel de endeudamiento y Edad")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rr}
##   \hline
##  & Desviación estándar \\ 
##   \hline
## Muy alto & 15.35 \\ 
##   Alto & 15.16 \\ 
##   Moderado & 16.46 \\ 
##   Bajo & 18.76 \\ 
##   No tengo ninguna deuda & 21.64 \\ 
##    \hline
## \end{tabular}
## \caption{Nivel de endeudamiento y Edad} 
## \end{table}

Reporte combinando distintas medidas en formato LaTeX.

tabla10 <- aggregate(CEP84$edad, list(CEP84$DS_P28), length) # Cantidad de casos
tabla11 <- aggregate(CEP84$edad, list(CEP84$DS_P28), min) # Mínimo
tabla12 <- aggregate(CEP84$edad, list(CEP84$DS_P28), max) # Máximo
tabla13 <- cbind(tabla10[,2],tabla11[,2], tabla8, tabla7, tabla9, tabla12[,2])
colnames(tabla13) <- c("N", "Mínimo", "Mediana", "Media", "Desviación estándar", "Máximo")
rownames(tabla13) <- levels(CEP84$DS_P28)
#Tabla LaTeX
xtable(tabla13, caption = "Nivel de endeudamiento y Edad")
## % latex table generated in R 4.0.2 by xtable 1.8-4 package
## % Wed Jul  1 16:52:26 2020
## \begin{table}[ht]
## \centering
## \begin{tabular}{rrrrrrr}
##   \hline
##  & N & Mínimo & Mediana & Media & Desviación estándar & Máximo \\ 
##   \hline
## Muy alto &  94 & 18.00 & 37.00 & 42.16 & 15.35 & 77.00 \\ 
##   Alto & 227 & 18.00 & 45.00 & 44.34 & 15.16 & 89.00 \\ 
##   Moderado & 643 & 18.00 & 48.00 & 47.79 & 16.46 & 91.00 \\ 
##   Bajo & 322 & 18.00 & 53.00 & 51.26 & 18.76 & 93.00 \\ 
##   No tengo ninguna deuda & 187 & 18.00 & 60.00 & 55.21 & 21.64 & 99.00 \\ 
##    \hline
## \end{tabular}
## \caption{Nivel de endeudamiento y Edad} 
## \end{table}

Diagrama de cajas

boxplot(edad ~ DS_P28, data = CEP84, xlab = "Nivel de endeudamiento", ylab = "Edad")

Análisis descriptivo bivariado entre variables continuas

Se analizarán las variables “Edad” (DS_P2_EXACTA) y “Nivel de preocupación por poder pagar todas sus deudas (escala de 0 a 10)” (ESP_22_1).

Primero, se configura correctamente a la variable ESP_22_1.

class(CEP84$ESP_22_1) # qué tipo de objeto es? factor
## [1] "factor"
levels(CEP84$ESP_22_1) # ver los niveles
##  [1] "1"                    "2"                    "3"                   
##  [4] "4"                    "5"                    "6"                   
##  [7] "7"                    "8"                    "9"                   
## [10] "10.- Muy preocu pado" "88.- No sabe"         "99.- No contesta"    
## [13] "0.- Nada preocu pado"
#Definir NA o casos perdidos
CEP84$ESP_22_1[CEP84$ESP_22_1=="88.- No sabe"]<-NA
CEP84$ESP_22_1[CEP84$ESP_22_1=="99.- No contesta"]<-NA
CEP84$ESP_22_1<-droplevels(CEP84$ESP_22_1)
#transformar a objeto "numeric"
levels(CEP84$ESP_22_1) <- c("1", "2", "3", "4", "5", "6", "7", "8", "9","10", "0")
CEP84$ESP_22_1 <- as.numeric(as.character(CEP84$ESP_22_1)) # transformamos a objeto "numeric"

Diagrama de dispersión

plot(CEP84$edad, CEP84$ESP_22_1, xlab = "Edad", ylab = "Preocupación por poder pagar deudas")

Covarianza y correlación

Covarianza.

cov(CEP84$edad, CEP84$ESP_22_1, use = "pairwise.complete.obs") 
## [1] -3.837638
#use = "pairwise.complete.obs" significa remover casos con NA en una de las dos variables

Correlación.

cor(CEP84$edad, CEP84$ESP_22_1, use = "pairwise.complete.obs") 
## [1] -0.07816336
#use = "pairwise.complete.obs" significa remover casos con NA en una de las dos variables
plot(CEP84$edad, CEP84$ESP_22_1, main = "Preocupación por poder pagar deudas y edad", xlab = "Edad", ylab = "Escala de preocupaciones")
# Creamos función para poner texto en las esquinas
Corner_text <- function(text, location="topright"){
legend(location,legend=text, bty ="n", pch=NA) 
}
#Texto en la esquina (coeficiente de correlación)
Corner_text(text="r = -0.08" ,location= "bottomright")