Muchas veces pienso que no es R, es RStudio. Por eso hoy traigo unas líneas para ilustrar el uso de Julia en R Markdown y poder elaborar vuestros documentos y vuestra documentación con RStudio. Todo el trabajo se articula entorno a la librería JuliaCall y se fundamenta en el uso de Markdown, donde usaremos indistintamente R o Julia. Todo comienza con un chunk de R:
# install.packages("JuliaCall")
library(JuliaCall)
julia_setup()
Instalamos el paquete y “suponemos” que hemos instalado Julia; de este modo, nada más cargar JuliaCall pondremos julia_setup() y ya dispondremos de nuestro entorno de Julia. Una vez ejecutados estos pasos en R, ya podemos trabajar con algún chunk de Julia y con código conocido:
using CSV
using DataFrames
using HTTP
url = "https://raw.githubusercontent.com/mwaskom/seaborn-data/master/penguins.csv"
res = HTTP.get(url)
penguins = DataFrame(CSV.File(res.body))
Destacar que no tenemos una integración en RStudio tan chula como la que hay con reticulate, donde disponemos del entorno Python y del entorno R para navegar por nuestros objetos. Esta situación hace que el ahora escribiente (por ejemplo) realice el trabajo en Visual Studio Code y posteriormente lleve esos códigos a Markdown. Si visitáis la ayuda de JuliaCall podréis ver todas las posibilidades que tenemos para mover objetos y funciones; para ilustrar este paso de objetos de un entorno a otro, os traigo un pase de un data.frame de R a Julia:
data("iris")
julia_assign("iris", iris)
La función julia_assign es la que nos permite mover data.frames y ya podemos usarlo en Julia:
using StatsPlots
boxplot(iris.Sepal_Width)
Y, por supuesto, el camino inverso: pasar un data.frame de Julia a R:
penguins <- julia_eval("penguins")
Aquellos que usamos RStudio para casi todo ya no tenemos excusa para emplear Julia, aunque veremos qué pasa con Visual Studio Code.