Establece tu carpeta de trabajo
¿Cuál será tu carpeta de trabajo? Es aquella donde se encuentra la data con la que deseas trabajar en R. ¿Cómo estableces tu carpeta de trabajo? Eso lo haces con la opción Set as Working Directory (previamente debes haber localizado correctamente la carpeta donde se encuentra la data).
R Notebook
Para hacer más sencillo el trabajo con R en Posit (RStudio), podemos hacer uso de un R Markdown o un R Notebook. Como el nombre de este último lo indica, estos dos son una especie de cuaderno (una suerte de bloc de notas) interactivo donde, a la vez que se hace notas como en cualquier procesador de texto, se puede además introducir múltiples secuencias de código de R que pueden ser ejecutadas progresivamente para llegar a los resultados deseados. Es decir, te permitirán tener códigos, ejecutar esos códigos y hacer notas que acompañen la generación y ejecución de aquellos códigos, ¡todo en un mismo sitio! Los resultados luego se pueden compartir a través de un PDF o un HTML que luego puedes publicar en la web. De ese modo, puedes generar tu propio repositorio de códigos que puedes luego utiizar y replicar con otras bases de datos.
[De hecho, esta explicación que ahora estás leyendo… ¡fue generada desde un R Notebook que fue luego convertido en un archivo HTML!]
¿Cómo creo un nuevo R Notebook?
Es sencillo. Lo haces haciendo clic en File, luego en la opción New File y finalmente en R Notebook.
[Si es la primera vez que usas R Notebook, aparece un cuadro de diálogo. Debes hacer clic en Yes.]
Se generará en la esquina superior izquierda de la interfaz de RStudio un nuevo espacio de trabajo, el cual contendrá algunas líneas de texto y un código, inclusive. Borramos todo el contenido que aparece ahí. Una vez hecho ello, estamos listos para poder comenzar a trabajar.
El espacio de trabajo que se acaba de generar se conoce como Markdown. En este Markdown puede introducirse texto a manera de notas, así como código de R:
Para introducir cualquier texto… simplemente debes escribirlo. El Markdown funciona en ese sentido como un bloc de notas.
Para introducir código de R en tu Markdown debes hacerlo haciendo clic en Insert y luego en R. O bien, puedes usar un atajo oprimiendo las teclas Ctrl + Alt + I en Windows o Command + option + i.
Ahora sí… una vez explicada la forma como procederemos en el uso de RStudio, empecemos a trabajar con nuestro Markdown.
¿Cómo abrimos un archivo de SPSS (.sav) en RStudio?
Lo hacemos introduciendo el siguiente código en nuestro Markdown [recuerda que líneas arriba te hemos indicado cómo introducir código en tu Markdown]:
library(foreign)
ejemplo<- read.spss("Encuesta 2024.sav",use.value.labels=TRUE, max.value.labels=Inf, to.data.frame=TRUE)
Para correr el código debes dar clic en ‘Play’ [la flecha verde que aparece en la esquina superior derecha de cada código].
¿Cómo verificas que el código ha sido ejecutado de manera correcta? En este caso, dado que estamos cargando una base de SPSS, en realidad lo que hemos hecho es crear un objeto, llamado ejemplo, que contiene a nuestra base de datos. Si el código ha sido ejecutado correctamente, verás que bajo la pestaña Environment (esquina superior derecha de la ventana de RStudio) aparece ya creado un objeto llamado ejemplo. Al hacer clic veremos que junto a nuestro Markdown se abre una pestaña adicional que nos muestra la base de datos que acabamos de exportar desde SPSS.
Operaciones básicas
Una vez abierta nuestra data, podemos empezar a hacer algunas operaciones. Para ello, volvemos a nuestro Markdown. En lo que sigue, para cada nueva operación que hagamos, insertaremos nuevas líneas de código en nuestro Markdown [recuerda que previamente te hemos enseñado cómo introducir código en tu Markdown; inclusive, te mostramos un atajo].
Si deseo ver los nombres de las variables, lo hago con el comando names:
names(ejemplo)
## [1] "id" "sexo" "edad" "reg" "educ" "añ_es" "nu_hi" "mi_ho"
## [9] "es_ci" "oc_ac" "añ_tr" "fu_in" "ing18" "ing19" "ing20" "ing21"
## [17] "ing22" "di_vi" "di_af" "si_fi" "pa_de" "ay_fi" "cr_vi" "cr_ac"
## [25] "se_ap" "relig" "de_re" "nco" "pol" "camp" "v_11" "v_16"
## [33] "v_21" "ep_21" "sa_go" "op_ec" "sa_pa" "co_co" "dd_hh" "ed_sa"
## [41] "re_in" "pr_am" "ju_de" "ig_op" "di_cu" "pa_ca" "rd_sc" "pa_cu"
## [49] "de_vi" "ig_ge" "po_in" "aborto" "ap_19" "ap_22" "am_19" "am_22"
## [57] "cm_19" "cm_22" "qw_19" "qw_22" "ju_19" "ju_22" "p65_19" "p65_22"
## [65] "fc_19" "af_22" "p_18" "p_19" "p_20" "p_21" "p_22"
[?No te olvides de ‘correr’ o ejecutar cada línea de código luego de haberla insertado! Ya te dijimos también cómo hacerlo.]
Para poder empezar describiendo nuestra data, vamos a instalar y activar el paquete Hmisc. En RStudio, podemos instalar un paquete de dos formas:
O bien:
Una vez instalado el paquete, lo activamos haciendo uso del comando library:
library(Hmisc)
Recuerda: la instalación de paquetes se hace solo una vez en la máquina en la que estás trabajando. Si anteriormente ya instalaste un paquete en tu computadora, este se quedará instalado y para usarlo, solo deberás activarlo usando el comando library.
Ahora sí, usamos el comando describe para empezar a describir la data:
str(ejemplo)
## 'data.frame': 1809 obs. of 71 variables:
## $ id : num 303 1225 529 572 1250 ...
## $ sexo : Factor w/ 2 levels "Hombre","Mujer": 1 2 1 2 2 2 1 1 1 2 ...
## $ edad : num 39 40 40 40 40 40 40 41 42 42 ...
## $ reg : Factor w/ 4 levels "Lima Norte","Lima Este",..: 1 3 4 3 1 2 2 3 2 3 ...
## $ educ : Factor w/ 4 levels "Primaria","Secundaria",..: 3 3 3 1 3 3 3 1 3 2 ...
## $ añ_es : num 8 13 9 7 10 8 7 16 16 12 ...
## $ nu_hi : num 2 3 3 2 1 1 1 2 4 4 ...
## $ mi_ho : num 3 2 4 1 5 0 1 5 6 5 ...
## $ es_ci : Factor w/ 6 levels "Casado/a","Viudo/a",..: 1 1 3 1 3 1 6 5 1 3 ...
## $ oc_ac : Factor w/ 4 levels "Empleado","Independiente",..: 4 3 3 4 1 4 2 4 4 4 ...
## $ añ_tr : num 2 2 8 1 2 8 5 6 4 5 ...
## $ fu_in : Factor w/ 5 levels "Salario","Negocio propio",..: 2 1 2 2 4 2 4 4 1 4 ...
## $ ing18 : num 3019 2856 2621 2978 3207 ...
## $ ing19 : num 2883 3310 2901 3043 3087 ...
## $ ing20 : num 2779 3105 3312 3069 2995 ...
## $ ing21 : num 3051 2996 2811 3132 3403 ...
## $ ing22 : num 3203 3185 3185 3187 3192 ...
## $ di_vi : num 1349 1679 820 535 1708 ...
## $ di_af : num 1356 1346 1369 1369 1361 ...
## $ si_fi : Factor w/ 5 levels "Muy mal","Mal",..: 2 1 1 4 1 2 2 4 1 4 ...
## $ pa_de : Factor w/ 2 levels "Sí","No": 2 1 1 1 1 2 1 1 2 1 ...
## $ ay_fi : Factor w/ 2 levels "Sí","No": 1 1 2 1 2 1 2 1 1 1 ...
## $ cr_vi : num 5.86 4.39 4.16 3.43 4.48 4.96 2.73 3.76 5.23 5.25 ...
## $ cr_ac : Factor w/ 4 levels "Nada","1","Entre 2 y 3",..: 1 2 2 3 1 2 1 1 1 2 ...
## $ se_ap : Factor w/ 3 levels "Ha mejorado",..: NA 2 3 3 NA 3 NA 2 NA 1 ...
## $ relig : Factor w/ 4 levels "Evangélica","Católica",..: 2 2 2 4 1 2 2 2 2 2 ...
## $ de_re : Factor w/ 4 levels "Muy practicante",..: 4 2 4 4 2 3 1 4 1 2 ...
## $ nco : Factor w/ 4 levels "Muy baja","Baja",..: 1 1 3 1 1 2 4 1 1 2 ...
## $ pol : Factor w/ 7 levels "Muy liberal",..: 6 7 7 6 1 7 2 5 3 6 ...
## $ camp : Factor w/ 3 levels "Me interesan mucho",..: 2 2 1 2 3 2 3 2 2 3 ...
## $ v_11 : Factor w/ 2 levels "Votó","No votó": 2 2 2 1 1 2 2 1 2 2 ...
## $ v_16 : Factor w/ 2 levels "Votó","No votó": 1 1 1 1 1 2 1 1 2 2 ...
## $ v_21 : Factor w/ 2 levels "Votó","No votó": 2 2 2 1 2 1 2 1 2 2 ...
## $ ep_21 : Factor w/ 3 levels "Pedro Castillo",..: 2 2 1 NA NA 2 1 NA 1 2 ...
## $ sa_go : Factor w/ 4 levels "Muy satisfecho",..: 2 2 1 1 1 1 1 1 2 3 ...
## $ op_ec : Factor w/ 3 levels "Mejorando","Estable",..: 3 3 3 3 3 3 3 3 3 3 ...
## $ sa_pa : Factor w/ 4 levels "Muy satisfecho",..: 1 3 3 4 3 2 1 3 2 3 ...
## $ co_co : Factor w/ 2 levels "Sí","No": 2 1 2 2 2 1 2 1 1 2 ...
## $ dd_hh : Factor w/ 2 levels "Sí","No": 2 1 1 2 1 2 1 2 2 1 ...
## $ ed_sa : Factor w/ 4 levels "Muy satisfecho",..: 3 2 1 1 1 1 2 2 3 2 ...
## $ re_in : Factor w/ 4 levels "Excelente","Bueno",..: 1 2 1 4 2 3 4 1 2 3 ...
## $ pr_am : Factor w/ 4 levels "Excelente","Bueno",..: 4 3 4 2 4 3 4 4 4 3 ...
## $ ju_de : Factor w/ 2 levels "Sí","No": 2 1 1 1 1 2 2 1 1 1 ...
## $ ig_op : Factor w/ 2 levels "Sí","No": 1 2 2 2 2 1 2 1 2 2 ...
## $ di_cu : Factor w/ 4 levels "Muy importante",..: 1 1 2 2 2 4 2 2 3 2 ...
## $ pa_ca : Factor w/ 4 levels "Muy activo","Algo activo",..: 4 4 4 3 1 3 3 4 1 1 ...
## $ rd_sc : Factor w/ 4 levels "Adicto","Uso moderado",..: 2 4 3 4 3 3 1 4 4 2 ...
## $ pa_cu : Factor w/ 4 levels "Muy importante",..: 2 4 1 2 1 4 2 2 1 3 ...
## $ de_vi : Factor w/ 4 levels "Saludable","Moderado",..: 4 3 4 4 1 2 2 1 2 1 ...
## $ ig_ge : Factor w/ 4 levels "Muy importante",..: 4 4 2 2 4 4 2 1 3 3 ...
## $ po_in : Factor w/ 3 levels "Pro-inmigración",..: 3 3 NA 3 NA 1 3 3 1 3 ...
## $ aborto: Factor w/ 4 levels "Nunca debe ser permitido",..: 2 3 2 4 1 1 4 1 4 1 ...
## $ ap_19 : num 87.7 54 58.3 37.5 33.3 36.1 50.2 70.7 46.8 22.7 ...
## $ ap_22 : num 48.3 59.4 42.5 50.2 63.3 62.7 37.3 28.8 45.3 54.6 ...
## $ am_19 : num 32.1 45.7 38.5 43.4 25.9 40.7 60.2 47.3 39.7 71.1 ...
## $ am_22 : num 61.3 59.6 60 67.4 39.3 73.7 12.1 58.6 69.1 23.4 ...
## $ cm_19 : num 61.8 45 49.2 48.7 44.9 42.2 48.1 51.5 51.2 33.5 ...
## $ cm_22 : num 31.9 81 53.4 32.8 69.8 63.9 50.6 47.2 52 43.6 ...
## $ qw_19 : num 68.8 38.5 82.3 56.1 48.6 44.2 27.5 31.1 47.2 62.4 ...
## $ qw_22 : num 65 62 37.8 65.4 47 23 64.5 54.7 58.8 59.2 ...
## $ ju_19 : num 49.2 58.3 49.8 23.5 33.5 45.2 68.5 55.9 39.4 38.5 ...
## $ ju_22 : num 65 62 37.8 65.4 47 23 64.5 54.7 58.8 59.2 ...
## $ p65_19: num 48.3 59.4 42.5 50.2 63.3 62.7 37.3 28.8 45.3 54.6 ...
## $ p65_22: num 46.4 53.7 46.3 62.7 83.1 77 53.9 33.7 40.2 61.4 ...
## $ fc_19 : num 61.3 59.6 60 67.4 39.3 73.7 12.1 58.6 69.1 23.4 ...
## $ af_22 : num 41.3 37.4 52 50.1 67.3 26.1 37.7 12.3 68 61.6 ...
## $ p_18 : num 47.1 39.9 24.2 33.8 68.2 39.3 37.5 58.3 62.1 54.9 ...
## $ p_19 : num 33.3 61.5 32.8 38.4 54.6 42.6 37.8 42.4 68.8 47.6 ...
## $ p_20 : num 30.5 55.6 54.4 36.5 51.3 62.4 50.6 63.6 26.2 63.8 ...
## $ p_21 : num 80 64.9 42.9 52.7 51.7 48.2 49.4 30.3 65.6 58.8 ...
## $ p_22 : num 43 51.3 72.2 61 51.3 57 12.2 43.9 43.4 52.9 ...
## - attr(*, "variable.labels")= Named chr [1:71] "Identificación" "Sexo" "Edad" "Zona de Lima Metropolitana" ...
## ..- attr(*, "names")= chr [1:71] "id" "sexo" "edad" "reg" ...
## - attr(*, "codepage")= int 65001
describe(ejemplo)
## ejemplo
##
## 71 Variables 1809 Observations
## --------------------------------------------------------------------------------
## id
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 905.4 905.5 603.9 91.4
## .10 .25 .50 .75 .90 .95
## 181.8 453.0 905.0 1358.0 1629.2 1720.6
##
## lowest : 1 2 3 4 5, highest: 1807 1808 1809 1810 1811
## --------------------------------------------------------------------------------
## sexo
## n missing distinct
## 1809 0 2
##
## Value Hombre Mujer
## Frequency 910 899
## Proportion 0.503 0.497
## --------------------------------------------------------------------------------
## edad
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 79 1 47.06 46.5 19.37 22.0
## .10 .25 .50 .75 .90 .95
## 25.8 34.0 45.0 58.0 72.2 78.0
##
## lowest : 18 19 20 21 22, highest: 92 93 95 96 97
## --------------------------------------------------------------------------------
## reg
## n missing distinct
## 1809 0 4
##
## Value Lima Norte Lima Este Lima Sur Lima Centro
## Frequency 316 452 657 384
## Proportion 0.175 0.250 0.363 0.212
## --------------------------------------------------------------------------------
## educ
## n missing distinct
## 1809 0 4
##
## Value Primaria Secundaria Superior Posgrado
## Frequency 187 520 994 108
## Proportion 0.103 0.287 0.549 0.060
## --------------------------------------------------------------------------------
## añ_es
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 16 0.989 11.66 11.5 4.132 7
## .10 .25 .50 .75 .90 .95
## 7 9 11 14 17 18
##
## Value 7 8 9 10 11 12 13 14 15 16 17
## Frequency 280 140 244 168 129 81 237 105 63 164 40
## Proportion 0.155 0.077 0.135 0.093 0.071 0.045 0.131 0.058 0.035 0.091 0.022
##
## Value 18 19 20 24 28
## Frequency 102 25 27 3 1
## Proportion 0.056 0.014 0.015 0.002 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## nu_hi
## n missing distinct Info Mean pMedian Gmd
## 1809 0 7 0.925 2.103 2 1.159
##
## Value 0 1 2 3 4 5 7
## Frequency 90 456 623 471 157 11 1
## Proportion 0.050 0.252 0.344 0.260 0.087 0.006 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## mi_ho
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 12 0.969 2.917 3 1.98 0
## .10 .25 .50 .75 .90 .95
## 1 2 3 4 5 6
##
## Value 0 1 2 3 4 5 6 7 8 9 10
## Frequency 102 316 410 383 268 181 81 37 21 2 7
## Proportion 0.056 0.175 0.227 0.212 0.148 0.100 0.045 0.020 0.012 0.001 0.004
##
## Value 13
## Frequency 1
## Proportion 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## es_ci
## n missing distinct
## 1795 14 6
##
## Value Casado/a Viudo/a Divorciado/a Separado/a Soltero/a
## Frequency 937 168 238 55 348
## Proportion 0.522 0.094 0.133 0.031 0.194
##
## Value Conviviente
## Frequency 49
## Proportion 0.027
## --------------------------------------------------------------------------------
## oc_ac
## n missing distinct
## 1809 0 4
##
## Value Empleado Independiente Jubilado Desempleado
## Frequency 470 441 416 482
## Proportion 0.260 0.244 0.230 0.266
## --------------------------------------------------------------------------------
## añ_tr
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 23 0.99 4.627 4.5 3.798 0
## .10 .25 .50 .75 .90 .95
## 1 2 4 7 9 11
##
## lowest : 0 1 2 3 4, highest: 18 19 20 21 22
## --------------------------------------------------------------------------------
## fu_in
## n missing distinct
## 1809 0 5
##
## Salario (504, 0.279), Negocio propio (382, 0.211), Inversiones (197, 0.109),
## Pensiones o jubilaciones (362, 0.200), Otros (364, 0.201)
## --------------------------------------------------------------------------------
## ing18
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1760 1 3190 3022 610.3 2661
## .10 .25 .50 .75 .90 .95
## 2736 2860 3001 3182 4121 4438
##
## lowest : 762 764 778 807 832, highest: 12490 13138 13556 13671 13902
## --------------------------------------------------------------------------------
## ing19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1806 1 3036 2999 341.8 2654
## .10 .25 .50 .75 .90 .95
## 2739 2865 2997 3136 3266 3344
##
## lowest : 760 765 767 781 793, highest: 11450 11699 12810 13201 13512
## --------------------------------------------------------------------------------
## ing20
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 3143 3098 356.8 2768
## .10 .25 .50 .75 .90 .95
## 2843 2966 3101 3229 3347 3426
##
## lowest : 776 786 787 793 797, highest: 13401 13497 13854 13927 14116
## --------------------------------------------------------------------------------
## ing21
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 3152 3115 341.2 2789
## .10 .25 .50 .75 .90 .95
## 2859 2978 3116 3249 3369 3443
##
## lowest : 792 795 828 830 832, highest: 12099 12297 12424 13159 13917
## --------------------------------------------------------------------------------
## ing22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1806 1 3164 3134 323.5 2809
## .10 .25 .50 .75 .90 .95
## 2886 3002 3136 3267 3384 3454
##
## lowest : 772 793 821 823 833, highest: 10945 11832 12006 12173 12691
## --------------------------------------------------------------------------------
## di_vi
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1240 1 1107 1083 678.7 209.4
## .10 .25 .50 .75 .90 .95
## 369.8 637.0 1060.0 1502.0 1891.0 2170.0
##
## lowest : 3 4 8 9 10, highest: 3025 3026 3080 3525 3839
## --------------------------------------------------------------------------------
## di_af
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 399 1 2379 1976 1558 610
## .10 .25 .50 .75 .90 .95
## 1316 1349 1859 2593 5203 5222
##
## Value 550 600 1250 1300 1350 1400 1800 1850 1900 2500 2550
## Frequency 62 105 1 288 297 1 74 192 1 8 377
## Proportion 0.034 0.058 0.001 0.159 0.164 0.001 0.041 0.106 0.001 0.004 0.208
##
## Value 2600 5150 5200 5250 10250 10300 13250 13300
## Frequency 99 105 172 14 6 2 2 3
## Proportion 0.055 0.058 0.095 0.008 0.003 0.001 0.001 0.002
##
## For the frequency table, variable is rounded to the nearest 50
## --------------------------------------------------------------------------------
## si_fi
## n missing distinct
## 1809 0 5
##
## Value Muy mal Mal Regular Bien Muy bien
## Frequency 451 445 363 325 225
## Proportion 0.249 0.246 0.201 0.180 0.124
## --------------------------------------------------------------------------------
## pa_de
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 1381 428
## Proportion 0.763 0.237
## --------------------------------------------------------------------------------
## ay_fi
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 1201 608
## Proportion 0.664 0.336
## --------------------------------------------------------------------------------
## cr_vi
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 473 0.989 4.005 4.015 2.64 0.000
## .10 .25 .50 .75 .90 .95
## 1.000 1.000 4.680 5.780 6.680 7.246
##
## lowest : 0 1 1.08 1.68 1.84, highest: 8.86 9.04 9.29 9.52 9.83
## --------------------------------------------------------------------------------
## cr_ac
## n missing distinct
## 1809 0 4
##
## Value Nada 1 Entre 2 y 3 Más de 3
## Frequency 639 799 227 144
## Proportion 0.353 0.442 0.125 0.080
## --------------------------------------------------------------------------------
## se_ap
## n missing distinct
## 924 885 3
##
## Value Ha mejorado Está igual Está peor
## Frequency 311 483 130
## Proportion 0.337 0.523 0.141
## --------------------------------------------------------------------------------
## relig
## n missing distinct
## 1809 0 4
##
## Value Evangélica Católica Judía Otra
## Frequency 144 1257 43 365
## Proportion 0.080 0.695 0.024 0.202
## --------------------------------------------------------------------------------
## de_re
## n missing distinct
## 1809 0 4
##
## Value Muy practicante Practicante ocasional No practicante
## Frequency 474 479 426
## Proportion 0.262 0.265 0.235
##
## Value Nada interesado
## Frequency 430
## Proportion 0.238
## --------------------------------------------------------------------------------
## nco
## n missing distinct
## 1809 0 4
##
## Value Muy baja Baja Regular Alta
## Frequency 854 430 388 137
## Proportion 0.472 0.238 0.214 0.076
## --------------------------------------------------------------------------------
## pol
## n missing distinct
## 1624 185 7
##
## Value Muy liberal Liberal Algo liberal Moderado
## Frequency 82 158 351 109
## Proportion 0.050 0.097 0.216 0.067
##
## Value Algo conservador Conservador Muy Conservador
## Frequency 528 250 146
## Proportion 0.325 0.154 0.090
## --------------------------------------------------------------------------------
## camp
## n missing distinct
## 1809 0 3
##
## Value Me interesan mucho Me interesan poco No me interesan
## Frequency 280 1132 397
## Proportion 0.155 0.626 0.219
## --------------------------------------------------------------------------------
## v_11
## n missing distinct
## 1809 0 2
##
## Value Votó No votó
## Frequency 890 919
## Proportion 0.492 0.508
## --------------------------------------------------------------------------------
## v_16
## n missing distinct
## 1809 0 2
##
## Value Votó No votó
## Frequency 891 918
## Proportion 0.493 0.507
## --------------------------------------------------------------------------------
## v_21
## n missing distinct
## 1809 0 2
##
## Value Votó No votó
## Frequency 906 903
## Proportion 0.501 0.499
## --------------------------------------------------------------------------------
## ep_21
## n missing distinct
## 1212 597 3
##
## Value Pedro Castillo Keiko Fujimori Rafael López Aliaga
## Frequency 666 408 138
## Proportion 0.550 0.337 0.114
## --------------------------------------------------------------------------------
## sa_go
## n missing distinct
## 1799 10 4
##
## Value Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Frequency 372 404 620 403
## Proportion 0.207 0.225 0.345 0.224
## --------------------------------------------------------------------------------
## op_ec
## n missing distinct
## 1809 0 3
##
## Value Mejorando Estable Empeorando
## Frequency 478 494 837
## Proportion 0.264 0.273 0.463
## --------------------------------------------------------------------------------
## sa_pa
## n missing distinct
## 1809 0 4
##
## Value Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Frequency 389 359 618 443
## Proportion 0.215 0.198 0.342 0.245
## --------------------------------------------------------------------------------
## co_co
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 823 986
## Proportion 0.455 0.545
## --------------------------------------------------------------------------------
## dd_hh
## n missing distinct
## 1808 1 2
##
## Value Sí No
## Frequency 711 1097
## Proportion 0.393 0.607
## --------------------------------------------------------------------------------
## ed_sa
## n missing distinct
## 1809 0 4
##
## Value Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Frequency 471 435 553 350
## Proportion 0.260 0.240 0.306 0.193
## --------------------------------------------------------------------------------
## re_in
## n missing distinct
## 1809 0 4
##
## Value Excelente Bueno Regular Malo
## Frequency 372 336 679 422
## Proportion 0.206 0.186 0.375 0.233
## --------------------------------------------------------------------------------
## pr_am
## n missing distinct
## 1809 0 4
##
## Value Excelente Bueno Regular Malo
## Frequency 357 362 572 518
## Proportion 0.197 0.200 0.316 0.286
## --------------------------------------------------------------------------------
## ju_de
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 959 850
## Proportion 0.53 0.47
## --------------------------------------------------------------------------------
## ig_op
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 679 1130
## Proportion 0.375 0.625
## --------------------------------------------------------------------------------
## di_cu
## n missing distinct
## 1809 0 4
##
## Value Muy importante Algo importante Poco importante Nada importante
## Frequency 165 828 560 256
## Proportion 0.091 0.458 0.310 0.142
## --------------------------------------------------------------------------------
## pa_ca
## n missing distinct
## 1809 0 4
##
## Value Muy activo Algo activo Poco activo Nada activo
## Frequency 436 431 469 473
## Proportion 0.241 0.238 0.259 0.261
## --------------------------------------------------------------------------------
## rd_sc
## n missing distinct
## 1809 0 4
##
## Value Adicto Uso moderado Poco interesado Nada interesado
## Frequency 152 495 620 542
## Proportion 0.084 0.274 0.343 0.300
## --------------------------------------------------------------------------------
## pa_cu
## n missing distinct
## 1809 0 4
##
## Value Muy importante Algo importante Poco importante Nada importante
## Frequency 784 502 211 312
## Proportion 0.433 0.278 0.117 0.172
## --------------------------------------------------------------------------------
## de_vi
## n missing distinct
## 1809 0 4
##
## Value Saludable Moderado Poco saludable Nada saludable
## Frequency 510 716 298 285
## Proportion 0.282 0.396 0.165 0.158
## --------------------------------------------------------------------------------
## ig_ge
## n missing distinct
## 1809 0 4
##
## Value Muy importante Algo importante Poco importante Nada importante
## Frequency 276 615 470 448
## Proportion 0.153 0.340 0.260 0.248
## --------------------------------------------------------------------------------
## po_in
## n missing distinct
## 1351 458 3
##
## Value Pro-inmigración Moderado Anti-migración
## Frequency 264 546 541
## Proportion 0.195 0.404 0.400
## --------------------------------------------------------------------------------
## aborto
## n missing distinct
## 1760 49 4
##
## Nunca debe ser permitido (215, 0.122), Permitirse solo en caso de violación
## (527, 0.299), Permitirse solo en caso de salud de la madre (265, 0.151),
## Permitirse en cualquier situación (753, 0.428)
## --------------------------------------------------------------------------------
## ap_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 556 1 43.77 43.8 15.23 21.74
## .10 .25 .50 .75 .90 .95
## 26.38 34.50 44.00 52.60 60.60 66.00
##
## lowest : 0 6.2 6.8 7.6 8 , highest: 83.7 84.7 87.2 87.7 100
## --------------------------------------------------------------------------------
## ap_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 635 1 51.33 51.5 18.61 23.30
## .10 .25 .50 .75 .90 .95
## 29.68 40.70 51.40 63.00 71.94 78.20
##
## lowest : 0 2.3 2.9 3.1 4.6 , highest: 94.6 94.7 96.9 97 100
## --------------------------------------------------------------------------------
## am_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 601 1 54.25 54.25 16.81 29.44
## .10 .25 .50 .75 .90 .95
## 35.20 44.30 54.30 64.50 73.40 79.06
##
## lowest : 0 2.2 5.4 11.2 11.5, highest: 95.5 96.9 97.8 98.1 100
## --------------------------------------------------------------------------------
## am_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 603 1 52.51 52.65 17.48 26.2
## .10 .25 .50 .75 .90 .95
## 32.2 42.4 52.6 63.0 72.6 77.3
##
## lowest : 0 3.7 4.9 7.8 8.6 , highest: 94.4 96.3 96.9 97.1 100
## --------------------------------------------------------------------------------
## cm_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 546 1 44.23 44.35 15.21 21.1
## .10 .25 .50 .75 .90 .95
## 27.2 34.9 44.6 53.5 61.0 65.6
##
## lowest : 0 2.3 4.1 4.4 4.5 , highest: 82.9 85.3 87.7 98.1 100
## --------------------------------------------------------------------------------
## cm_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 584 1 52 52 16.53 27.74
## .10 .25 .50 .75 .90 .95
## 33.48 41.90 51.90 61.90 70.90 75.96
##
## lowest : 0 6 6.1 9.1 9.5 , highest: 92.5 94.1 97.7 98.5 100
## --------------------------------------------------------------------------------
## qw_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 561 1 55.76 55.75 15.43 33.30
## .10 .25 .50 .75 .90 .95
## 37.88 46.30 55.70 65.20 73.20 77.80
##
## lowest : 0 3.3 14 18.8 19.9, highest: 93 93.4 95.9 98.3 100
## --------------------------------------------------------------------------------
## qw_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 572 1 56.6 56.7 16.15 33.20
## .10 .25 .50 .75 .90 .95
## 38.30 47.10 56.80 66.10 75.02 80.30
##
## lowest : 0 7 12 12.7 13.1, highest: 94.9 95.3 95.9 97.7 100
## --------------------------------------------------------------------------------
## ju_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 610 1 46.48 46.6 17.28 20.90
## .10 .25 .50 .75 .90 .95
## 26.68 35.90 46.80 57.30 65.20 71.50
##
## lowest : 0 0.2 1.6 3.4 4.1 , highest: 88.1 88.2 89.8 94.4 100
## --------------------------------------------------------------------------------
## ju_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 572 1 56.6 56.7 16.15 33.20
## .10 .25 .50 .75 .90 .95
## 38.30 47.10 56.80 66.10 75.02 80.30
##
## lowest : 0 7 12 12.7 13.1, highest: 94.9 95.3 95.9 97.7 100
## --------------------------------------------------------------------------------
## p65_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 635 1 51.33 51.5 18.61 23.30
## .10 .25 .50 .75 .90 .95
## 29.68 40.70 51.40 63.00 71.94 78.20
##
## lowest : 0 2.3 2.9 3.1 4.6 , highest: 94.6 94.7 96.9 97 100
## --------------------------------------------------------------------------------
## p65_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 573 1 49.85 49.8 15.92 26.9
## .10 .25 .50 .75 .90 .95
## 32.1 40.6 49.3 59.3 68.2 73.3
##
## lowest : 0 10 11.5 11.6 13.1, highest: 88.1 90.3 91.9 95.9 100
## --------------------------------------------------------------------------------
## fc_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 603 1 52.51 52.65 17.48 26.2
## .10 .25 .50 .75 .90 .95
## 32.2 42.4 52.6 63.0 72.6 77.3
##
## lowest : 0 3.7 4.9 7.8 8.6 , highest: 94.4 96.3 96.9 97.1 100
## --------------------------------------------------------------------------------
## af_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 574 1 47.25 47.1 16.56 23.30
## .10 .25 .50 .75 .90 .95
## 28.40 37.10 47.20 56.80 66.40 71.92
##
## lowest : 0 2.2 3 4.3 7.9 , highest: 91.2 92.3 92.9 93.2 100
## --------------------------------------------------------------------------------
## p_18
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 556 1 50.34 50.35 15.68 28.04
## .10 .25 .50 .75 .90 .95
## 33.00 40.80 50.50 59.60 67.80 72.80
##
## lowest : 0 5.7 7.1 10.2 10.9, highest: 90.6 91.5 91.9 94.4 100
## --------------------------------------------------------------------------------
## p_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 569 1 48.42 48.25 16.14 25.24
## .10 .25 .50 .75 .90 .95
## 30.90 38.60 48.10 58.00 66.80 72.76
##
## lowest : 0 5.6 7.8 8.1 10.9, highest: 90.8 92.2 94.3 96.9 100
## --------------------------------------------------------------------------------
## p_20
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 570 1 44.13 44.15 16.25 20.60
## .10 .25 .50 .75 .90 .95
## 25.28 34.50 44.40 53.80 62.40 67.78
##
## lowest : 0 2.8 3.1 3.5 3.9 , highest: 84.5 84.9 85 90.3 100
## --------------------------------------------------------------------------------
## p_21
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 593 1 47.91 47.75 17.05 23.90
## .10 .25 .50 .75 .90 .95
## 29.08 37.30 47.20 58.20 68.00 72.90
##
## lowest : 0 4.5 4.9 6.1 7.1 , highest: 90.4 91.5 92.4 94.1 100
## --------------------------------------------------------------------------------
## p_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 584 1 53.37 53.5 16.16 29.54
## .10 .25 .50 .75 .90 .95
## 34.90 43.80 53.80 63.00 71.30 76.70
##
## lowest : 0 7 9.9 11.7 12.2, highest: 93.6 95.8 96.8 97.5 100
## --------------------------------------------------------------------------------
Vemos que obtenemos información de todas las variables, según la escala en la que se encuentra cada una.
Si quisiésemos tan solo obtener información de una variable, podemos agregar el signo $ (dolar) y el nombre de nuestra variable de interés inmediatamente después del nombre de nuestra data, de la siguiente manera:
describe(ejemplo$pol) #información sobre la variable 'Cómo se considera usted políticamente'
## ejemplo$pol
## n missing distinct
## 1624 185 7
##
## Value Muy liberal Liberal Algo liberal Moderado
## Frequency 82 158 351 109
## Proportion 0.050 0.097 0.216 0.067
##
## Value Algo conservador Conservador Muy Conservador
## Frequency 528 250 146
## Proportion 0.325 0.154 0.090
Para no estar escribiendo “describe” cada vez que queremos describir una variable de la data, podemos abreviar el código creando un objeto que contenga a la función describe aplicada sobre nuestra data. Lo hacemos de la siguiente manera:
d <- describe(ejemplo)
Una vez hecho esto, podemos describir cualquier variable de nuestro interés tan solo tipeando la letra d seguida del nombre de la variable expresada como un vector. Un vector es la concatenación de uno o más elementos del mismo tipo (números, caracteres, valores de verdad). Para concatenar elementos del mismo tipo en un vector, se usa el comando c.
Describamos, por ejemplo, la variable relig (religión). Lo hacemos de la siguiente manera:
d[c('ing20')] #Nótese el uso de los corchetes y de las comillas simples
## ejemplo
##
## 1 Variables 1809 Observations
## --------------------------------------------------------------------------------
## ing20
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 3143 3098 356.8 2768
## .10 .25 .50 .75 .90 .95
## 2843 2966 3101 3229 3347 3426
##
## lowest : 776 786 787 793 797, highest: 13401 13497 13854 13927 14116
## --------------------------------------------------------------------------------
Describamos ahora dos variables a la vez. Probemos con edad (edad) y consipol (¿cómo se considera políticamente?):
d[c('edad','pol')] #Nótese el uso de la coma
## ejemplo
##
## 2 Variables 1809 Observations
## --------------------------------------------------------------------------------
## edad
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 79 1 47.06 46.5 19.37 22.0
## .10 .25 .50 .75 .90 .95
## 25.8 34.0 45.0 58.0 72.2 78.0
##
## lowest : 18 19 20 21 22, highest: 92 93 95 96 97
## --------------------------------------------------------------------------------
## pol
## n missing distinct
## 1624 185 7
##
## Value Muy liberal Liberal Algo liberal Moderado
## Frequency 82 158 351 109
## Proportion 0.050 0.097 0.216 0.067
##
## Value Algo conservador Conservador Muy Conservador
## Frequency 528 250 146
## Proportion 0.325 0.154 0.090
## --------------------------------------------------------------------------------
Pues bien, ya sabemos que con names obtenemos los nombres de todas las variables y que con el comando d que hemos creado podemos describir a una o más variables.
¿cómo hacemos si quisiésemos describir a todas nuestras variables, pero que estas aparezcan en orden alfabético??
Para ello, hacemos uso del comando sort, el cual ordenará alfabéticamente los nombres de nuestras variables (parecido al comando ‘Ordenar’ en Excel). Así, tenemos:
d[sort(names(d))]
## ejemplo
##
## 71 Variables 1809 Observations
## --------------------------------------------------------------------------------
## aborto
## n missing distinct
## 1760 49 4
##
## Nunca debe ser permitido (215, 0.122), Permitirse solo en caso de violación
## (527, 0.299), Permitirse solo en caso de salud de la madre (265, 0.151),
## Permitirse en cualquier situación (753, 0.428)
## --------------------------------------------------------------------------------
## af_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 574 1 47.25 47.1 16.56 23.30
## .10 .25 .50 .75 .90 .95
## 28.40 37.10 47.20 56.80 66.40 71.92
##
## lowest : 0 2.2 3 4.3 7.9 , highest: 91.2 92.3 92.9 93.2 100
## --------------------------------------------------------------------------------
## am_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 601 1 54.25 54.25 16.81 29.44
## .10 .25 .50 .75 .90 .95
## 35.20 44.30 54.30 64.50 73.40 79.06
##
## lowest : 0 2.2 5.4 11.2 11.5, highest: 95.5 96.9 97.8 98.1 100
## --------------------------------------------------------------------------------
## am_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 603 1 52.51 52.65 17.48 26.2
## .10 .25 .50 .75 .90 .95
## 32.2 42.4 52.6 63.0 72.6 77.3
##
## lowest : 0 3.7 4.9 7.8 8.6 , highest: 94.4 96.3 96.9 97.1 100
## --------------------------------------------------------------------------------
## añ_es
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 16 0.989 11.66 11.5 4.132 7
## .10 .25 .50 .75 .90 .95
## 7 9 11 14 17 18
##
## Value 7 8 9 10 11 12 13 14 15 16 17
## Frequency 280 140 244 168 129 81 237 105 63 164 40
## Proportion 0.155 0.077 0.135 0.093 0.071 0.045 0.131 0.058 0.035 0.091 0.022
##
## Value 18 19 20 24 28
## Frequency 102 25 27 3 1
## Proportion 0.056 0.014 0.015 0.002 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## añ_tr
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 23 0.99 4.627 4.5 3.798 0
## .10 .25 .50 .75 .90 .95
## 1 2 4 7 9 11
##
## lowest : 0 1 2 3 4, highest: 18 19 20 21 22
## --------------------------------------------------------------------------------
## ap_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 556 1 43.77 43.8 15.23 21.74
## .10 .25 .50 .75 .90 .95
## 26.38 34.50 44.00 52.60 60.60 66.00
##
## lowest : 0 6.2 6.8 7.6 8 , highest: 83.7 84.7 87.2 87.7 100
## --------------------------------------------------------------------------------
## ap_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 635 1 51.33 51.5 18.61 23.30
## .10 .25 .50 .75 .90 .95
## 29.68 40.70 51.40 63.00 71.94 78.20
##
## lowest : 0 2.3 2.9 3.1 4.6 , highest: 94.6 94.7 96.9 97 100
## --------------------------------------------------------------------------------
## ay_fi
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 1201 608
## Proportion 0.664 0.336
## --------------------------------------------------------------------------------
## camp
## n missing distinct
## 1809 0 3
##
## Value Me interesan mucho Me interesan poco No me interesan
## Frequency 280 1132 397
## Proportion 0.155 0.626 0.219
## --------------------------------------------------------------------------------
## cm_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 546 1 44.23 44.35 15.21 21.1
## .10 .25 .50 .75 .90 .95
## 27.2 34.9 44.6 53.5 61.0 65.6
##
## lowest : 0 2.3 4.1 4.4 4.5 , highest: 82.9 85.3 87.7 98.1 100
## --------------------------------------------------------------------------------
## cm_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 584 1 52 52 16.53 27.74
## .10 .25 .50 .75 .90 .95
## 33.48 41.90 51.90 61.90 70.90 75.96
##
## lowest : 0 6 6.1 9.1 9.5 , highest: 92.5 94.1 97.7 98.5 100
## --------------------------------------------------------------------------------
## co_co
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 823 986
## Proportion 0.455 0.545
## --------------------------------------------------------------------------------
## cr_ac
## n missing distinct
## 1809 0 4
##
## Value Nada 1 Entre 2 y 3 Más de 3
## Frequency 639 799 227 144
## Proportion 0.353 0.442 0.125 0.080
## --------------------------------------------------------------------------------
## cr_vi
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 473 0.989 4.005 4.015 2.64 0.000
## .10 .25 .50 .75 .90 .95
## 1.000 1.000 4.680 5.780 6.680 7.246
##
## lowest : 0 1 1.08 1.68 1.84, highest: 8.86 9.04 9.29 9.52 9.83
## --------------------------------------------------------------------------------
## dd_hh
## n missing distinct
## 1808 1 2
##
## Value Sí No
## Frequency 711 1097
## Proportion 0.393 0.607
## --------------------------------------------------------------------------------
## de_re
## n missing distinct
## 1809 0 4
##
## Value Muy practicante Practicante ocasional No practicante
## Frequency 474 479 426
## Proportion 0.262 0.265 0.235
##
## Value Nada interesado
## Frequency 430
## Proportion 0.238
## --------------------------------------------------------------------------------
## de_vi
## n missing distinct
## 1809 0 4
##
## Value Saludable Moderado Poco saludable Nada saludable
## Frequency 510 716 298 285
## Proportion 0.282 0.396 0.165 0.158
## --------------------------------------------------------------------------------
## di_af
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 399 1 2379 1976 1558 610
## .10 .25 .50 .75 .90 .95
## 1316 1349 1859 2593 5203 5222
##
## Value 550 600 1250 1300 1350 1400 1800 1850 1900 2500 2550
## Frequency 62 105 1 288 297 1 74 192 1 8 377
## Proportion 0.034 0.058 0.001 0.159 0.164 0.001 0.041 0.106 0.001 0.004 0.208
##
## Value 2600 5150 5200 5250 10250 10300 13250 13300
## Frequency 99 105 172 14 6 2 2 3
## Proportion 0.055 0.058 0.095 0.008 0.003 0.001 0.001 0.002
##
## For the frequency table, variable is rounded to the nearest 50
## --------------------------------------------------------------------------------
## di_cu
## n missing distinct
## 1809 0 4
##
## Value Muy importante Algo importante Poco importante Nada importante
## Frequency 165 828 560 256
## Proportion 0.091 0.458 0.310 0.142
## --------------------------------------------------------------------------------
## di_vi
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1240 1 1107 1083 678.7 209.4
## .10 .25 .50 .75 .90 .95
## 369.8 637.0 1060.0 1502.0 1891.0 2170.0
##
## lowest : 3 4 8 9 10, highest: 3025 3026 3080 3525 3839
## --------------------------------------------------------------------------------
## ed_sa
## n missing distinct
## 1809 0 4
##
## Value Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Frequency 471 435 553 350
## Proportion 0.260 0.240 0.306 0.193
## --------------------------------------------------------------------------------
## edad
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 79 1 47.06 46.5 19.37 22.0
## .10 .25 .50 .75 .90 .95
## 25.8 34.0 45.0 58.0 72.2 78.0
##
## lowest : 18 19 20 21 22, highest: 92 93 95 96 97
## --------------------------------------------------------------------------------
## educ
## n missing distinct
## 1809 0 4
##
## Value Primaria Secundaria Superior Posgrado
## Frequency 187 520 994 108
## Proportion 0.103 0.287 0.549 0.060
## --------------------------------------------------------------------------------
## ep_21
## n missing distinct
## 1212 597 3
##
## Value Pedro Castillo Keiko Fujimori Rafael López Aliaga
## Frequency 666 408 138
## Proportion 0.550 0.337 0.114
## --------------------------------------------------------------------------------
## es_ci
## n missing distinct
## 1795 14 6
##
## Value Casado/a Viudo/a Divorciado/a Separado/a Soltero/a
## Frequency 937 168 238 55 348
## Proportion 0.522 0.094 0.133 0.031 0.194
##
## Value Conviviente
## Frequency 49
## Proportion 0.027
## --------------------------------------------------------------------------------
## fc_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 603 1 52.51 52.65 17.48 26.2
## .10 .25 .50 .75 .90 .95
## 32.2 42.4 52.6 63.0 72.6 77.3
##
## lowest : 0 3.7 4.9 7.8 8.6 , highest: 94.4 96.3 96.9 97.1 100
## --------------------------------------------------------------------------------
## fu_in
## n missing distinct
## 1809 0 5
##
## Salario (504, 0.279), Negocio propio (382, 0.211), Inversiones (197, 0.109),
## Pensiones o jubilaciones (362, 0.200), Otros (364, 0.201)
## --------------------------------------------------------------------------------
## id
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 905.4 905.5 603.9 91.4
## .10 .25 .50 .75 .90 .95
## 181.8 453.0 905.0 1358.0 1629.2 1720.6
##
## lowest : 1 2 3 4 5, highest: 1807 1808 1809 1810 1811
## --------------------------------------------------------------------------------
## ig_ge
## n missing distinct
## 1809 0 4
##
## Value Muy importante Algo importante Poco importante Nada importante
## Frequency 276 615 470 448
## Proportion 0.153 0.340 0.260 0.248
## --------------------------------------------------------------------------------
## ig_op
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 679 1130
## Proportion 0.375 0.625
## --------------------------------------------------------------------------------
## ing18
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1760 1 3190 3022 610.3 2661
## .10 .25 .50 .75 .90 .95
## 2736 2860 3001 3182 4121 4438
##
## lowest : 762 764 778 807 832, highest: 12490 13138 13556 13671 13902
## --------------------------------------------------------------------------------
## ing19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1806 1 3036 2999 341.8 2654
## .10 .25 .50 .75 .90 .95
## 2739 2865 2997 3136 3266 3344
##
## lowest : 760 765 767 781 793, highest: 11450 11699 12810 13201 13512
## --------------------------------------------------------------------------------
## ing20
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 3143 3098 356.8 2768
## .10 .25 .50 .75 .90 .95
## 2843 2966 3101 3229 3347 3426
##
## lowest : 776 786 787 793 797, highest: 13401 13497 13854 13927 14116
## --------------------------------------------------------------------------------
## ing21
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1807 1 3152 3115 341.2 2789
## .10 .25 .50 .75 .90 .95
## 2859 2978 3116 3249 3369 3443
##
## lowest : 792 795 828 830 832, highest: 12099 12297 12424 13159 13917
## --------------------------------------------------------------------------------
## ing22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1806 1 3164 3134 323.5 2809
## .10 .25 .50 .75 .90 .95
## 2886 3002 3136 3267 3384 3454
##
## lowest : 772 793 821 823 833, highest: 10945 11832 12006 12173 12691
## --------------------------------------------------------------------------------
## ju_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 610 1 46.48 46.6 17.28 20.90
## .10 .25 .50 .75 .90 .95
## 26.68 35.90 46.80 57.30 65.20 71.50
##
## lowest : 0 0.2 1.6 3.4 4.1 , highest: 88.1 88.2 89.8 94.4 100
## --------------------------------------------------------------------------------
## ju_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 572 1 56.6 56.7 16.15 33.20
## .10 .25 .50 .75 .90 .95
## 38.30 47.10 56.80 66.10 75.02 80.30
##
## lowest : 0 7 12 12.7 13.1, highest: 94.9 95.3 95.9 97.7 100
## --------------------------------------------------------------------------------
## ju_de
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 959 850
## Proportion 0.53 0.47
## --------------------------------------------------------------------------------
## mi_ho
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 12 0.969 2.917 3 1.98 0
## .10 .25 .50 .75 .90 .95
## 1 2 3 4 5 6
##
## Value 0 1 2 3 4 5 6 7 8 9 10
## Frequency 102 316 410 383 268 181 81 37 21 2 7
## Proportion 0.056 0.175 0.227 0.212 0.148 0.100 0.045 0.020 0.012 0.001 0.004
##
## Value 13
## Frequency 1
## Proportion 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## nco
## n missing distinct
## 1809 0 4
##
## Value Muy baja Baja Regular Alta
## Frequency 854 430 388 137
## Proportion 0.472 0.238 0.214 0.076
## --------------------------------------------------------------------------------
## nu_hi
## n missing distinct Info Mean pMedian Gmd
## 1809 0 7 0.925 2.103 2 1.159
##
## Value 0 1 2 3 4 5 7
## Frequency 90 456 623 471 157 11 1
## Proportion 0.050 0.252 0.344 0.260 0.087 0.006 0.001
##
## For the frequency table, variable is rounded to the nearest 0
## --------------------------------------------------------------------------------
## oc_ac
## n missing distinct
## 1809 0 4
##
## Value Empleado Independiente Jubilado Desempleado
## Frequency 470 441 416 482
## Proportion 0.260 0.244 0.230 0.266
## --------------------------------------------------------------------------------
## op_ec
## n missing distinct
## 1809 0 3
##
## Value Mejorando Estable Empeorando
## Frequency 478 494 837
## Proportion 0.264 0.273 0.463
## --------------------------------------------------------------------------------
## p_18
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 556 1 50.34 50.35 15.68 28.04
## .10 .25 .50 .75 .90 .95
## 33.00 40.80 50.50 59.60 67.80 72.80
##
## lowest : 0 5.7 7.1 10.2 10.9, highest: 90.6 91.5 91.9 94.4 100
## --------------------------------------------------------------------------------
## p_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 569 1 48.42 48.25 16.14 25.24
## .10 .25 .50 .75 .90 .95
## 30.90 38.60 48.10 58.00 66.80 72.76
##
## lowest : 0 5.6 7.8 8.1 10.9, highest: 90.8 92.2 94.3 96.9 100
## --------------------------------------------------------------------------------
## p_20
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 570 1 44.13 44.15 16.25 20.60
## .10 .25 .50 .75 .90 .95
## 25.28 34.50 44.40 53.80 62.40 67.78
##
## lowest : 0 2.8 3.1 3.5 3.9 , highest: 84.5 84.9 85 90.3 100
## --------------------------------------------------------------------------------
## p_21
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 593 1 47.91 47.75 17.05 23.90
## .10 .25 .50 .75 .90 .95
## 29.08 37.30 47.20 58.20 68.00 72.90
##
## lowest : 0 4.5 4.9 6.1 7.1 , highest: 90.4 91.5 92.4 94.1 100
## --------------------------------------------------------------------------------
## p_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 584 1 53.37 53.5 16.16 29.54
## .10 .25 .50 .75 .90 .95
## 34.90 43.80 53.80 63.00 71.30 76.70
##
## lowest : 0 7 9.9 11.7 12.2, highest: 93.6 95.8 96.8 97.5 100
## --------------------------------------------------------------------------------
## p65_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 635 1 51.33 51.5 18.61 23.30
## .10 .25 .50 .75 .90 .95
## 29.68 40.70 51.40 63.00 71.94 78.20
##
## lowest : 0 2.3 2.9 3.1 4.6 , highest: 94.6 94.7 96.9 97 100
## --------------------------------------------------------------------------------
## p65_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 573 1 49.85 49.8 15.92 26.9
## .10 .25 .50 .75 .90 .95
## 32.1 40.6 49.3 59.3 68.2 73.3
##
## lowest : 0 10 11.5 11.6 13.1, highest: 88.1 90.3 91.9 95.9 100
## --------------------------------------------------------------------------------
## pa_ca
## n missing distinct
## 1809 0 4
##
## Value Muy activo Algo activo Poco activo Nada activo
## Frequency 436 431 469 473
## Proportion 0.241 0.238 0.259 0.261
## --------------------------------------------------------------------------------
## pa_cu
## n missing distinct
## 1809 0 4
##
## Value Muy importante Algo importante Poco importante Nada importante
## Frequency 784 502 211 312
## Proportion 0.433 0.278 0.117 0.172
## --------------------------------------------------------------------------------
## pa_de
## n missing distinct
## 1809 0 2
##
## Value Sí No
## Frequency 1381 428
## Proportion 0.763 0.237
## --------------------------------------------------------------------------------
## po_in
## n missing distinct
## 1351 458 3
##
## Value Pro-inmigración Moderado Anti-migración
## Frequency 264 546 541
## Proportion 0.195 0.404 0.400
## --------------------------------------------------------------------------------
## pol
## n missing distinct
## 1624 185 7
##
## Value Muy liberal Liberal Algo liberal Moderado
## Frequency 82 158 351 109
## Proportion 0.050 0.097 0.216 0.067
##
## Value Algo conservador Conservador Muy Conservador
## Frequency 528 250 146
## Proportion 0.325 0.154 0.090
## --------------------------------------------------------------------------------
## pr_am
## n missing distinct
## 1809 0 4
##
## Value Excelente Bueno Regular Malo
## Frequency 357 362 572 518
## Proportion 0.197 0.200 0.316 0.286
## --------------------------------------------------------------------------------
## qw_19
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 561 1 55.76 55.75 15.43 33.30
## .10 .25 .50 .75 .90 .95
## 37.88 46.30 55.70 65.20 73.20 77.80
##
## lowest : 0 3.3 14 18.8 19.9, highest: 93 93.4 95.9 98.3 100
## --------------------------------------------------------------------------------
## qw_22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 572 1 56.6 56.7 16.15 33.20
## .10 .25 .50 .75 .90 .95
## 38.30 47.10 56.80 66.10 75.02 80.30
##
## lowest : 0 7 12 12.7 13.1, highest: 94.9 95.3 95.9 97.7 100
## --------------------------------------------------------------------------------
## rd_sc
## n missing distinct
## 1809 0 4
##
## Value Adicto Uso moderado Poco interesado Nada interesado
## Frequency 152 495 620 542
## Proportion 0.084 0.274 0.343 0.300
## --------------------------------------------------------------------------------
## re_in
## n missing distinct
## 1809 0 4
##
## Value Excelente Bueno Regular Malo
## Frequency 372 336 679 422
## Proportion 0.206 0.186 0.375 0.233
## --------------------------------------------------------------------------------
## reg
## n missing distinct
## 1809 0 4
##
## Value Lima Norte Lima Este Lima Sur Lima Centro
## Frequency 316 452 657 384
## Proportion 0.175 0.250 0.363 0.212
## --------------------------------------------------------------------------------
## relig
## n missing distinct
## 1809 0 4
##
## Value Evangélica Católica Judía Otra
## Frequency 144 1257 43 365
## Proportion 0.080 0.695 0.024 0.202
## --------------------------------------------------------------------------------
## sa_go
## n missing distinct
## 1799 10 4
##
## Value Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Frequency 372 404 620 403
## Proportion 0.207 0.225 0.345 0.224
## --------------------------------------------------------------------------------
## sa_pa
## n missing distinct
## 1809 0 4
##
## Value Muy satisfecho Satisfecho Insatisfecho Muy insatisfecho
## Frequency 389 359 618 443
## Proportion 0.215 0.198 0.342 0.245
## --------------------------------------------------------------------------------
## se_ap
## n missing distinct
## 924 885 3
##
## Value Ha mejorado Está igual Está peor
## Frequency 311 483 130
## Proportion 0.337 0.523 0.141
## --------------------------------------------------------------------------------
## sexo
## n missing distinct
## 1809 0 2
##
## Value Hombre Mujer
## Frequency 910 899
## Proportion 0.503 0.497
## --------------------------------------------------------------------------------
## si_fi
## n missing distinct
## 1809 0 5
##
## Value Muy mal Mal Regular Bien Muy bien
## Frequency 451 445 363 325 225
## Proportion 0.249 0.246 0.201 0.180 0.124
## --------------------------------------------------------------------------------
## v_11
## n missing distinct
## 1809 0 2
##
## Value Votó No votó
## Frequency 890 919
## Proportion 0.492 0.508
## --------------------------------------------------------------------------------
## v_16
## n missing distinct
## 1809 0 2
##
## Value Votó No votó
## Frequency 891 918
## Proportion 0.493 0.507
## --------------------------------------------------------------------------------
## v_21
## n missing distinct
## 1809 0 2
##
## Value Votó No votó
## Frequency 906 903
## Proportion 0.501 0.499
## --------------------------------------------------------------------------------
Creando subconjuntos
Podemos usar el comando attach para que al momento de querer llamar a una variable ya no tengamos que estar escribiendo el nombre de la data junto al signo $ y el nombre de la variable.
Lo aplicamos a nuestra data:
attach(ejemplo)
Ahora, procedemos a crear un subconjunto de nuestra data seleccionando solo algunas variables que sean de nuestro interés. Digamos que nos interesan por ahora las variables sexo (sexo), educ (nivel educativo), edad (edad) e ingresos (ingresos). Para ello creamos un objeto llamado subejemplo. Lo hacemos de la siguiente manera:
subejemplo <- data.frame(sexo,educ,edad,ing22)
Nótese el uso del comando data.frame en el código. Este comando hace que el conjunto de variables con el que estamos constituyendo nuestro subconjunto sea convertido por R en un data frame o marco de datos. Un data frame o marco de datos es un conjunto de vectores de la misma longitud. R interpreta a la data con la que estamos trabajando (una base de datos con 23 variables y 1807 casos) como un data frame compuesto de 23 vectores de longitud 1807. En lo que acabamos de hacer, hemos usado el comando data.frame para decirle a R que interprete nuestro subconjunto de 4 variables como un data frame compuesto de 4 vectores de longitud 1807.
Podemos quitar el efecto del comando attach usando la función detach. Como ya hicimos nuestro subconjunto, podemos aplicar este último comando a nuestra data:
detach(ejemplo)
[Eso quiere decir que si ahora queremos referirnos a una variable de nuestra data, deberemos hacerlo nuevamente de la siguiente manera: ejemplo$variable]
Ahora podemos hacer lo que ya hemos hecho antes a toda nuestra data solamente a nuestro subconjunto.
¿Cómo veo el nombre de las variables de mi subconjunto?
names(subejemplo)
## [1] "sexo" "educ" "edad" "ing22"
¿Cómo describo las variables de mi subconjunto?
describe(subejemplo)
## subejemplo
##
## 4 Variables 1809 Observations
## --------------------------------------------------------------------------------
## sexo
## n missing distinct
## 1809 0 2
##
## Value Hombre Mujer
## Frequency 910 899
## Proportion 0.503 0.497
## --------------------------------------------------------------------------------
## educ
## n missing distinct
## 1809 0 4
##
## Value Primaria Secundaria Superior Posgrado
## Frequency 187 520 994 108
## Proportion 0.103 0.287 0.549 0.060
## --------------------------------------------------------------------------------
## edad
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 79 1 47.06 46.5 19.37 22.0
## .10 .25 .50 .75 .90 .95
## 25.8 34.0 45.0 58.0 72.2 78.0
##
## lowest : 18 19 20 21 22, highest: 92 93 95 96 97
## --------------------------------------------------------------------------------
## ing22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1806 1 3164 3134 323.5 2809
## .10 .25 .50 .75 .90 .95
## 2886 3002 3136 3267 3384 3454
##
## lowest : 772 793 821 823 833, highest: 10945 11832 12006 12173 12691
## --------------------------------------------------------------------------------
Al haber realizado el subconjunto subejemplo a partir de la data ejemplo, todavía puedo aplicar el comando d (aplicado originalmente a la data ejemplo) para describir a las variables del subconjunto formado:
d[names(subejemplo)] #aquí el comando 'names' ayuda a filtrar aquellas únicas variables (las pertenecientes a mi subconjunto) que deberá considerar el comando 'd'
## ejemplo
##
## 4 Variables 1809 Observations
## --------------------------------------------------------------------------------
## sexo
## n missing distinct
## 1809 0 2
##
## Value Hombre Mujer
## Frequency 910 899
## Proportion 0.503 0.497
## --------------------------------------------------------------------------------
## educ
## n missing distinct
## 1809 0 4
##
## Value Primaria Secundaria Superior Posgrado
## Frequency 187 520 994 108
## Proportion 0.103 0.287 0.549 0.060
## --------------------------------------------------------------------------------
## edad
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 79 1 47.06 46.5 19.37 22.0
## .10 .25 .50 .75 .90 .95
## 25.8 34.0 45.0 58.0 72.2 78.0
##
## lowest : 18 19 20 21 22, highest: 92 93 95 96 97
## --------------------------------------------------------------------------------
## ing22
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 1806 1 3164 3134 323.5 2809
## .10 .25 .50 .75 .90 .95
## 2886 3002 3136 3267 3384 3454
##
## lowest : 772 793 821 823 833, highest: 10945 11832 12006 12173 12691
## --------------------------------------------------------------------------------
Creando nuevas variables
Trabajemos con el subconjunto que hemos creado. Veamos cómo se está comportando la variable edad:
describe(subejemplo$edad)
## subejemplo$edad
## n missing distinct Info Mean pMedian Gmd .05
## 1809 0 79 1 47.06 46.5 19.37 22.0
## .10 .25 .50 .75 .90 .95
## 25.8 34.0 45.0 58.0 72.2 78.0
##
## lowest : 18 19 20 21 22, highest: 92 93 95 96 97
A partir de esto, podemos crear una nueva variable llamada Anciano, la cual tendrá dos valores: Sí, si es que la persona encuestada tiene más de 70 años; No, si es que la personas encuestada tiene 70 años o menos.
Para ello hacemos uso del comando ifelse, el cual tiene una lógica parecida al comando ‘Sí’ en Excel:
subejemplo$Anciano <- ifelse(subejemplo$edad > 70, c("Sí"), c("No")) #Si la edad del encuestado es mayor que 70, poner "Sí" en la variable Anciano; si no lo es, poner "No"
Si hacemos clic sobre el objeto subejemplo vemos que hay una nueva columna compuesta por la nueva variable, Anciano. Pero veremos que está llena de NA en cada una de sus casillas.
¿Qué pasó? Quizás R no está considerando a la variable edad (a partir de la cual creamos la variable Anciano) como una variable numérica. Para verificar ello, debemos ver la estructura de nuestro subconjunto. Para lo cual, hacemos uso del comando str:
str(subejemplo)
## 'data.frame': 1809 obs. of 4 variables:
## $ sexo : Factor w/ 2 levels "Hombre","Mujer": 1 2 1 2 2 2 1 1 1 2 ...
## $ educ : Factor w/ 4 levels "Primaria","Secundaria",..: 3 3 3 1 3 3 3 1 3 2 ...
## $ edad : num 39 40 40 40 40 40 40 41 42 42 ...
## $ ing22: num 3203 3185 3185 3187 3192 ...
En efecto, vemos que R estuvo considerando a la variable edad en nuestro subconjunto como un factor y no como una variable numérica. Para convertirla en una variable numérica, hacemos uso del comando as.numeric:
subejemplo$educ <- as.ordered(subejemplo$educ)
Una vez hecho esto, vuelvo a verificar la estructura de mi subconjunto con str:
str(subejemplo)
## 'data.frame': 1809 obs. of 4 variables:
## $ sexo : Factor w/ 2 levels "Hombre","Mujer": 1 2 1 2 2 2 1 1 1 2 ...
## $ educ : Ord.factor w/ 4 levels "Primaria"<"Secundaria"<..: 3 3 3 1 3 3 3 1 3 2 ...
## $ edad : num 39 40 40 40 40 40 40 41 42 42 ...
## $ ing22: num 3203 3185 3185 3187 3192 ...
Si ahora hacemos clic sobre el objeto subejemplo en nuestro Environment, veremos que ahora la variable Anciano sí registra distintos valores para cada caso de acuerdo a la condición establecida.
Describamos la variable Anciano
describe(subejemplo$Anciano)
##
## NULL
Ahora bien, podemos también agrupar las edades de los encuestados por grupos, con lo cual podemos crear una nueva variable de edad, edadcat, la cual sea categórica y clasifique a cada persona encuestada en uno de tres grupos: joven (si su edad es 45 o menos), adulto (si su edad es más de 45 hasta los 75) o anciano (si su edad es más de 75). Eso lo hacemos de la siguiente manera:
subejemplo$edadcat[subejemplo$edad <= 45] <- "Joven"
subejemplo$edadcat[subejemplo$edad > 45 & subejemplo$edad <= 75] <- "adulto"
subejemplo$edadcat[subejemplo$edad > 75] <- "anciano"
Si ahora hacemos clic sobre el objeto subejemplo en nuestro Environment, veremos que hay una nueva columna correspondiente a nuestra nueva variable de edad edadcat, la cual registra si la persona encuestada es joven, adulta o anciana.
Describimos la variable edadcat:
describe(subejemplo$edadcat)
## subejemplo$edadcat
## n missing distinct
## 1809 0 3
##
## Value adulto anciano Joven
## Frequency 756 125 928
## Proportion 0.418 0.069 0.513
Pidamos finalmente los nombres de todas las variables que tenemos ahora en nuestro subconjunto subejemplo:
names(subejemplo)
## [1] "sexo" "educ" "edad" "ing22" "edadcat"
Guardando los resultados
Si yo deseo guardar la base de datos generada a partir del subconjunto previamente elaborado, así como las nuevas variables que generé en mi subconjunto (Anciano y edadcat), tengo varias opciones para hacerlo.
Guardando los resultados en R
Si deseamos guardar la base de datos generada en formato de R, lo hacemos con el comando save:
save(subejemplo,file="subejemplo.rda")
Guardando los resultados en SPSS
Si deseamos guardar la base de datos generada en formato de SPSS, lo hacemos con el comando write_sav del paquete haven:
library(haven)
write_sav(subejemplo, "subejemplo.sav")
Guardando los resultados en Excel
Si deseamos guardar la base de datos generada en formato .xlsx de Excel, lo hacemos con el comando write.xlsx del paquete openxlsx:
library(openxlsx)
write.xlsx(subejemplo, "subejemplo.xlsx")
También puedes guardar en el formato separado por comas que es más ligero y que también lo puedes abrir en Excel con el comando write.csv.
write.csv(subejemplo,file="subejemplo.csv")
Guardando los resultados en Stata
También podemos guardarlo en Stata con el comando write_dta del paquete haven:
write_dta(subejemplo, "subejemplo.dta")
Por último vamos a tejer (knit) nuestros resultados en un archivo HTML, PDF y DOCX. Para ello necesitamos que todo nuestro código esté bien escrito (que no haya errores), y esté guardado. Esta opcion es clave para la comunicación de nuestros resultados. Para que pueda exportar los resultados en PDF es necesario tener LaTex (un software que permite crear archivos de texto). Para descargar el instalador que se adapta a tu sistema operativo puedes entrar a https://www.latex-project.org/get/ o puedes inslarlo desde el mismo RStudio con el siguiente código.
#tinytex::install_tinytex()
Espero que este Rmd de primeros pasos en el mundo del R te sea de mucha utilidad.Recuerda que puedes reciclarlo en cualquier momento.