Ir al contenido principal

Librería de REDATAM para R

 Introducción.

En el segundo año de la pandemia (tomando como referencia que en marzo de 2020 se decidió a nivel mundial el confinamiento masivo), en mayo del 2021, tuvimos una reunión con el equipo de REDATAM, la DAERAS y algunos invitados, los compañeros de la CELADE encabezados por Lenin Aguinaga dejaron una agradable impresión, aunque en el Instituto seguimos ajenos a este software gratuito y muy destacado debido a la velocidad con la que hace las consultas.

En los últimos años una gran cantidad de compañeros se han incorporado al Instituto con un perfil matemático, que los hace fuertes candidatos a integrar y migrar sus conocimientos al campo de la ciencia de datos.

Junto con nuestros compañeros, y también debido al auge de la profesión más sexi del siglo 21 – el científico de datos - (según el artículo de Davenport y Patil del 2012), el lenguaje de programación R ha empezado a poblar de líneas de código los ordenadores de nuestro Instituto.

Es por ello que traer la velocidad de las bases de datos REDATAM a este nicho de programadores, quisiéramos pensar que se vuelve atractivo para nuestros profesionales referidos.

No se había podido probar dicha librería hasta que nuevamente parece que REDATAM vuelve a tomar escenarios al menos como una novedad debido a como se menciona anteriormente la velocidad de procesamiento no es para nada despreciable, sobre todo la versión X, que se esta probando y liberando en los tiempos que se escribe este artículo.

Hasta ahora las pruebas con REDATAM X han sido sorprendentes y como mencione han llamado la atención de los colegas del Instituto.

En otro orden de ideas, el trabajar con esta maravillosa herramienta y buscar posicionarla en el lugar que merece, es un tipo de homenaje a mi compañero y amigo Mario Becerril González, que hicimos un gran equipo en el tema de las bases de datos de REDATAM.

La velocidad de REDATAM y los datos sintéticos.

Este año en particular REDATAM X ha sido disruptivo, ya que a la par del proyecto de lago de datos para manejar grandes volúmenes de información pensando en usuarios que aun no han entrado a lenguajes de programación como Python o R, se creo una base de datos en REDATAM con datos sintéticos de la estadística de puestos de trabajo registrados por los patrones ante el Instituto Mexicano del Seguro Social que hasta el momento que se escribe esto, el conjunto de datos tiene más de 100 millones de registros.

“A nivel conceptual, los datos sintéticos no son datos reales pero que se han generado a partir de datos reales y que tienen las mismas propiedades estadísticas que los datos reales” (El Emam, 2020)

Debido a que estos datos son confidenciales, los datos sintéticos resultaron ser la mejor opción para probar las herramientas para el procesamiento de información de grandes volúmenes de información.

REDATAM X está en constante evolución y cada vez se agregan nuevas funcionalidades, de hecho, en el caso de Windows ya se cuenta con una versión portable.




Aunque en un post anterior, se hizo una prueba de velocidad con más de 200 millones de registros, vamos a hacer una más con la versión de mayo, usando este conjunto de datos sintético.




El proceso tarda poco más de 3 segundos, e inmediatamente se presenta el resultado, en este caso son poco más de 100 millones de registros.



Como se puede observar, la interfaz muestra ya cambios, y poco a poco se acerca a la versión estable de REDATAM 7.

Librería de REDATAM para R.

Entre los recursos que tiene la página redatam.org, desde inicios de este año esta la librería de REDATAM para R, la cual descargamos para hacer pruebas.


Instalación de la librería de REDATAM en RStudio.

En RStudio vamos a la opción de Tools-Install Packages y en esta ocasión en el combo Install from, elegimos la opción Package Archive File y se elige el archivo de la descarga de la página de REDATAM (archivo .zip).


Una vez elegido el archivo se procede a instalar.

Al terminar de instalar se manda una advertencia, que dice que son necesarias las RTools, por lo que de la página oficial de esta utilería para R, se descargó la versión 4.3 y se instaló. Nuevamente se procedió a instalar la librería. Otra vez se manda un error que indica que es necesario el paquete Rcpp, por lo que también se instala desde CRAN y ahora si al invocar la librería se despliega un mensaje que la librería se cargó.

Al cargarse la librería, del lado derecho podemos observar la ayuda y la forma en cómo usar la librería.

Por último, hacemos código R, usando la librería, en donde se lee el diccionario, se ejecuta una instrucción de REDATAM que deja el resultado en un dataframe y finalmente se cierra la base de datos.



A R usando la librería de REDATAM le llevó 3 segundos y unas centésimas el hacer esta consulta. La instrucción para sacar la frecuencia de la variable MESREG es código propio de REDATAM.

Hasta aquí este post, ya queda a la iniciativa e imaginación de esta combinación de herramientas.

Miguel Araujo.

Bibliografía

El Emam, K. (2020). AI with Synthetic Data. Estados Unidos de América: O'Reilly Media, Inc.

 


Comentarios

Entradas populares de este blog

REDATAM en Ubuntu (Linux)

 En un blog alterno, escribí sobre como migraba un "viejo" Intel i5 al sistema operativo Ubuntu en su versión más actual. Me comunique con mi gran colega Lenin de la CELADE en Chile, después de mucho tiempo, y le pedí me diera un pequeño resumen del "estado del arte" de REDATAM me dijo que todo marchaba bien, y pues ahora creo que tengo que actualizarme en contenedores pues el web server se encuentra ahí. Nos pusimos manos a la obra, el instalable desde la página no tiene ninguna extensión de archivo, asumí que era un ejecutable para Linux, no se si la página sufra ataques constantes ya que después quise volver a descargar sin éxito, la página estaba caida, sin embargo rescate el ejecutable anteriormente descargado. Últimamente primero hago y después documento, ya que con todo y mi compañero Deep,  no todo sale a la primera ni como lo dictan sus sugerencias, sobre todo en Linux y MacOS.  Por lo que, les muestro solo el resultado final de esta primera exploración, im...

El problema del gallo - otra vertiente de usar Python en RMarkdown con Posit RStudio

Cuando pensamos que ya se había cruzado el río, el buen gallo - mi amigo el Dany  Lara- no podía insertar código de Python  en un documento de RMarkdown  usando la versión de escritorio de Posit RStudio a pesar de las soluciones como instalar el Python y direccionarlo desde R con la biblioteca reticulate . Si bien se podía ejecutar código del interprete base, al querer correr usando módulos y con ello intentando instalar dichos módulos mandaba el siguiente mensaje: > py_install('matplotlib') Using virtual environment "D:/tu_usuario/Documents/.virtualenvs/r-reticulate" ... WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)'))': /simple/matplotlib/ WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) a...

RMarkdown - Python para usuarios de Posit RStudio

 Al escribir el post anterior pareciera que sería la misma lógica con la versión de escritorio de Posit RStudio , sin embargo al querer ejecutar un chunk de Python en un archivo de RMarkdown , manda que se tienen que actualizar los paquetes, descarga algunas cosas pero al final manda el siguiente mensaje: Show in New Window Error in system2(uv, c("python list", "--all-versions", "--color never", : '"C:\Users\mi_nombre_de_usuario\AppData\Local\R\cache\R\reticulate\uv\bin\uv.exe"' not found Error: Installation of Python not found, Python bindings not loaded. See the Python "Order of Discovery" here: https://rstudio.github.io/reticulate/articles/versions.html#order-of-discovery. La IA de Google aconseja  instalar uv pero el paquete reticulate no tiene ese método. Cuando se pensaba en instalar todo el que yo le llamo ecosistema del lenguaje de programación R se trató con esta última receta, descargar Python e instalarlo en una ...