Julia

Trabajando con R y Julia desde RStudio

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:

```{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:

```r
```{julia}
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 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:

```r
```{r}
data("iris")
iris <- julia_assign("iris", iris)
 

La función julia_assign es la que nos permite mover data frames y ya podemos usarlo en Julia:

```r
```{julia}
using StatsPlots
boxplot(iris.Sepal_Width)
 

Y por supuesto el camino inverso, pasar un data frame de Julia a R:

```r
```{r}
penguins <- julia_eval("penguins")
 

Aquellos que usamos RStudio para casi todo ya no tenemos escusa para emplear Julia, aunque veremos que pasa con Visual Code.

Gráficos Básicos con Julia

De forma análoga a otras entradas sobre análisis gráficos básicos empezamos a trabajar con las posibilidades gráficas del lenguaje Julia. A continuación se recogerán el 80% de los gráficos que un científico de datos realizará en su vida profesional, el 20% restante se abordará en otras entradas. Emplearemos el conjunto de datos penguins para ilustrar los ejemplos:

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))

En esta entrada se emplearán las librerías Plots y StatsPlots que podremos instalar con:

Primeros pasos con Julia. Importar un csv y data management básico con un data frame

Empiezo a trabajar con el lenguaje Julia ante la insistencia de JL Cañadas. Lo primero es comentar que este trabajo está hecho en Julia 1.6.2 con una máquina Ubuntu 18, para instalar Julia en Ubuntu:

  • Descarga de Julia
  • tar -xvzf julia-1.6.2-linux-x86_64.tar.gz
  • sudo cp -r julia-1.6.2 /opt/
  • sudo ln -s /opt/julia-1.6.2/bin/julia /usr/local/bin/julia

Una vez instalado he valorado los posibles IDE, parece ser que VS Code es lo más apropiado pero en mi caso particular tengo un problema con él. He optado por usarlo en Jupyter (lo sé) y para ello es necesario abrir julia en el terminal y poner: