Importer des fonctions de Python et de R

Julia intermédiaire

Anthony Markham

Quantitative Developer

Aperçu des forfaits

  • Vous pourriez vouloir utiliser des forfaits Python ou R dans vos programmes Julia.
  • Les raisons sont nombreuses :

    • aisance avec un forfait donné
    • forfait spécialisé offert seulement pour Python ou R
    • cohérence avec d'autres codes
  • Deux forfaits Julia offrent cette intégration : PythonCall et RCall.

using Pkg
Pkg.add("PythonCall")
Pkg.add("RCall")
  • L'inverse est aussi possible : on peut utiliser du code Julia dans Python et R.
Julia intermédiaire

Importer des forfaits Python

  • Utilisez PythonCall pour intégrer des fonctions Python à votre code Julia.
  • Tout forfait Python peut être utilisé, pourvu qu'il soit aussi installé dans Python.
using PythonCall
  • Pour charger un forfait Python, utilisez pyimport.
pytime = pyimport("time")
  • De nombreuses fonctions avancées existent dans PythonCall, non couvertes ici.
Julia intermédiaire

Appeler des fonctions Python

  • On peut appeler toute fonction du forfait de base time.
using PythonCall
pytime = pyimport("time")
println(pytime.ctime())
Sun Jan 22 12:16:28 2023
  • On peut combiner plusieurs fonctions, y compris le formatage Python.
println(pytime.strftime("%m-%Y", pytime.localtime()))
01-2023
Julia intermédiaire

Importer des bibliothèques R

  • Utilisez RCall pour intégrer des fonctions R à votre code Julia.
  • Il faut installer R avant d'installer le forfait RCall.
  • Tout forfait R peut être utilisé, s'il est aussi installé dans R.
using RCall
  • Pour charger un forfait R, utilisez @rimport.
@rimport base
@rimport ggplot2
  • De nombreuses fonctions avancées existent dans RCall, non couvertes ici.
Julia intermédiaire

Appeler des fonctions R

  • Nous appellerons des fonctions de l'environnement R de base dans cet exemple.
  • On peut fournir un alias lors de l'importation d'un forfait.
using RCall
@rimport base as r_base
r_base.sum([1, 2, 3, 4, 5])
RObject{IntSxp}
[1] 15
Julia intermédiaire

Résultat de sum en R

  • Nous pouvons comparer rapidement le résultat de Julia à celui produit par R.
RObject{IntSxp}
[1] 15

Sortie de la console R

Julia intermédiaire

Appeler d'autres fonctions R

  • Essayons maintenant la fonction abbreviate, aussi dans le forfait de base.
r_base.abbreviate(["Anthony", "Rachel", "Steve", "Julia"], 3)
RObject{StrSxp}
Anthony  Rachel   Steve   Julia
  "Ant"   "Rch"   "Stv"   "Jul"

Julia intermédiaire

Passons à la pratique !

Julia intermédiaire

Preparing Video For Download...