R, et les autres !

Certains de nos lecteurs pourraient se dire que parfois, il n’y a pas que R dans la vie. Et (même si nous pensons le contraire) nous comprenons leur besoin d’aller voir du côté d’autres langages de programmation — Python, par exemple, ou encore SQL et JavaScript.

Vous venez de vous convertir à R ? Bienvenue ! Et rassurez-vous : il n’est pas question de mettre tous vos anciens scripts à la poubelle. Au contraire, optez pour le recyclage — R et ses packages ont été pensés pour communiquer avec d’autres langages. Focus sur 3 d’entre eux.

R, Python et les objets

D’après nos déambulations numériques, la communauté web data science a deux passions : les chats, et se déchirer sur la question « R ou Python ». Et si on tranchait une bonne fois pour toutes, en répondant « les deux » ?

Car oui, des fonctionnalités Python peuvent être plus performantes sur des tâches particulières. Également, des modules particuliers peuvent exister en Python, mais pas encore en R — si vous avez un peu de temps devant vous, il est toujours possible de réécrire ces modules en R. L’autre solution, pour les plus pressés, est de faire tourner ses scripts Python directement depuis notre langage favori.

Pour ça, vous vous en doutez, Python doit être installé sur votre machine. Puis, rendez-vous dans R.

install.packages("rPython")
library(rPython)

Ensuite, ouvrez votre script Python via la fonction dédiée, et vous pourrez importer les objets Python.

#Création d'un script plop.py
plop = [(1,2,3,4,5)]

#De retour dans R
python.load("plop.py")
plop <- python.get("plop")
plot(as.data.frame(plop))

Il est également possible de fonctionner dans l’autre sens : appeler R depuis Python, en faisant appel au module RPy. Allez, pour le plaisir, un peu de code en Python !

#Importer RPy
from rpy import *
#Ensuite, c'est simple : 
a = 1
b = 3 
c = 5
r.sum(a+b+c)

R, SQL et les requêtes

Aujourd’hui, qui dit données dit base de données. Mais que se cache-t-il derrière cette tautologie ?

Savoir utiliser un langage de requêtage spécialement pensé pour les bases de données est un véritable atout : nous faisons bien sûr référence à SQL. Et oui, si vous vous posiez la question : cela marche aussi avec R.

Vous connaissez le langage SQL sur le bout des doigts ? Parfait, il est temps de mettre la main dans sqldf ! Ce package vous permet de manipuler des données en écrivant les mêmes requêtes qu’en SQL.

install.packages("sqldf")
library(sqldf)
data("cars")
p <- cars
selection <- sqldf("select * from cars where speed=12")

Et voilà, c’est aussi simple ! Cela dit, nous avons ici travaillé avec un data.frame dans votre environnement. Il est également possible de travailler avec une base de données à distance avec RSQLite, et sa fonction dbConnect. Vous pouvez aussi faire un tour du côté de RMySQL, ROracle, RPostgreSQL ou encore RJDBC !

R, JavaScript et la dataviz

Autre langage, autre ambiance ! On se le répète assez : peu de packages dépassent les possibilités de ggplot2. Cependant, que faire pour obtenir des visualisations interactives ? Ici, direction les solutions qui travaillent avec JavaScript : vous trouverez notamment une galerie de visualisations avec htmlwidgets : leaflet, d3heatmap, threejs, et bien d’autres ! Pour cela : rendez-vous sur le site dédié aux htmlwidgets avec R.

Vous vous en doutez, faire communiquer R avec d’autres langages ne s’arrête pas là : C/C++, Java, SAS, Julia… la liste des passerelles et longue, et nous ne pourrions pas tout lister en un seul billet de blog. Mais si vous voulez en savoir plus sur l’intégration de votre langage fétiche dans un environnement R… nous somme prêts à en parler 😉


À propos de l'auteur

Colin Fay

Colin Fay

Data scientist & R Hacker


Commentaires


À lire également