R + Python = reticulate

26 Nov

He sido reticente a usar reticulate con R porque no me gusta R markdown y si he trabajado con Python no he necesitado R y viceversa. Ahora tengo en mente algún juego/proyecto de esos que se quedan siempre en el tintero por falta de tiempo o interés pero me están sirviendo para elaborar unos apuntes sobre R markdow y Python que voy a sintetizaros en esta entrada por si a alguien le fuera de utilidad.

Todo comenzará con remotes::install_github("rstudio/reticulate") yo, a pesar de tener varios entornos de Python Anacoda, dejé que se instalara el Miniconda y trabajo con el entorno rstudio. Estoy habituado a que esta labor la realicen los ingenieros (para eso están) y la verdad es que no he tocado nada de la instalación, he dejado a R que lo configure. Si tenéis problemas con Rtools y Windows id a este enlace y lo resolvéis como indica. Al hacer esto partimos de un entorno sin los paquetes habituales y por ello, una vez ejecutemos library(reticulate), tenemos que instalar los paquetes de Python en el entorno de rstudio de Miniconda con py_install('pandas'). De este modo nos podemos ir configurando un entorno con los paquetes que necesitemos.

Disponiendo del entorno requerido ya podemos abrir nuestro notebook en markdown y ejecutar código R o Python, según necesitemos. Un ejemplo a lo ‘mecagüen’ que podéis ejecutar tal cual (si disponéis de los paquetes) en vuestro notebook:

Vemos como movemos un data frame de R a Python.

Con ```{python} podéis ejecutar código en Python y si necesitáis llamar a un data frame de R para trabajar con pandas hacéis r.df_R y ya disponéis de los datos en python, el paso contrario de Python a R es:

No es complicado y funciona bien, el problema que he encontrado está en los entornos, son un dolor de muelas. Espero que sea de utilidad.