Paquets R : Tutoriel pour les débutants
Les paquets R sont des collections de fonctions et d'ensembles de données développées par la communauté. Ils augmentent la puissance de R en améliorant les fonctionnalités de base existantes de R ou en en ajoutant de nouvelles. Par exemple, si vous travaillez habituellement avec des cadres de données, vous avez probablement entendu parler de dplyr
ou data.table
deux des packages R les plus populaires.
Mais imaginez que vous souhaitiez faire du traitement en langage naturel de textes coréens, extraire des données météorologiques du web, ou même estimer l'évapotranspiration réelle à l'aide de modèles d'équilibre énergétique de la surface terrestre, les packages R vous couvrent ! Récemment, le dépôt officiel(CRAN) a atteint 10 000 paquets publiés, et de nombreux autres sont accessibles au public sur l'internet.
Si vous débutez avec R, ce billet couvrira les bases des paquets R et comment les utiliser. Vous aborderez les sujets suivants et 11 questions fréquemment posées par les utilisateurs :
Commencez à apprendre R gratuitement
Introduction à la régression en R
1. Qu'est-ce qu'un paquet R ?
Commençons par quelques définitions. Un paquet est un moyen approprié d'organiser votre propre travail et, si vous le souhaitez, de le partager avec d'autres. En général, un paquetage comprend du code (pas seulement du code R !), de la documentation sur le paquetage et les fonctions qu'il contient, des tests pour vérifier que tout fonctionne comme il se doit et des ensembles de données.
Les informations de base sur un paquetage sont fournies dans le fichier DESCRIPTION, où vous pouvez trouver ce que fait le paquetage, qui en est l'auteur, à quelle version appartient la documentation, la date, le type de licence qu'il utilise et les dépendances du paquetage.
Notez que vous pouvez également utiliser le lien stats alternatif pour voir le fichier DESCRIPTION.
Outre les fichiers DESCRIPTION tels que cran.r-project.org ou stat.ethz.ch, vous pouvez également accéder au fichier de description à l'intérieur de R avec la commande packageDescription("package")
, via la documentation du paquetage help(package = "package")
, ou en ligne dans le dépôt du paquetage.
Par exemple, pour le paquet "stats", ces moyens seront :
packageDescription("stats")
help(package = "stats")
2. Qu'est-ce qu'un dépôt R ?
Un dépôt est un endroit où se trouvent les paquets afin que vous puissiez les installer à partir de celui-ci. Bien que vous ou votre organisation puissiez disposer d'un dépôt local, ces dépôts sont généralement en ligne et accessibles à tous. Les trois dépôts les plus populaires pour les paquets R sont les suivants :
- CRAN: le dépôt officiel, c'est un réseau de serveurs ftp et web maintenus par la communauté R dans le monde entier. La fondation R le coordonne, et pour qu'un paquet soit publié ici, il doit passer plusieurs tests qui garantissent que le paquet respecte les politiques du CRAN.
- Bioconductor: il s'agit d'un référentiel thématique destiné aux logiciels libres de bioinformatique. Comme le CRAN, il dispose de ses propres processus de soumission et d'évaluation, et sa communauté est très active, organisant plusieurs conférences et réunions par an.
- Github: bien que cela ne soit pas spécifique à R, Github est probablement le dépôt le plus populaire pour les projets open-source. Sa popularité vient de l'espace illimité qu'il offre à l'open source, de l'intégration avec git, un logiciel de contrôle de version, et de sa facilité à partager et à collaborer avec d'autres. Mais sachez qu'il n'y a pas de procédure d'examen associée.
3. Comment installer un paquetage R
Installation de paquets R à partir du CRAN
La manière dont vous pouvez installer un paquetage R dépend de l'endroit où il se trouve. Ainsi, pour les paquets accessibles au public, cela signifie à quel référentiel ils appartiennent. La méthode la plus courante consiste à utiliser le dépôt CRAN. Il vous suffit alors d'indiquer le nom du paquet et d'utiliser la commande install.packages("package")
.
Par exemple, le plus ancien paquet publié dans le CRAN et toujours en ligne et mis à jour est le paquet vioplot
de Daniel Adler.
Pouvez-vous trouver sa date de publication ? Indice : C'est dans la description de l'emballage ;).
Pour l'installer à partir du CRAN, vous devrez utiliser :
install.packages("vioplot")
Après avoir exécuté cette opération, vous recevrez des messages à l'écran. Elles dépendent du système d'exploitation que vous utilisez, des dépendances et de la réussite de l'installation du paquet.
Regardons de plus près les résultats de l'installation de vioplot
. Voici quelques-uns des messages que vous pourriez obtenir :
Installing package into ‘/home/username/R/x86_64-pc-linux-gnu-library/3.3’
(as ‘lib’ is unspecified)
Il indique l'endroit où votre paquet est installé sur votre ordinateur. Vous pouvez indiquer un autre emplacement de dossier en utilisant le paramètre lib
.
trying URL 'https://cran.rstudio.com/src/contrib/vioplot_0.2.tar.gz'
Content type 'application/x-gzip' length 3801 bytes
==================================================
downloaded 3801 bytes
Vous y trouverez des informations sur l'origine et la taille du colis. Cela dépend du miroir CRAN que vous avez sélectionné.
Vous pouvez également le modifier, mais vous en saurez plus à ce sujet plus loin dans ce billet.
* installing *source* package ‘vioplot’ ...
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (vioplot)
Il s'agit des messages de l'installation proprement dite, du code source, de l'aide, de quelques tests et, enfin, d'un message indiquant que tout s'est bien passé et que le paquet a été installé avec succès. Ces messages peuvent varier en fonction de la plateforme sur laquelle vous vous trouvez.
The downloaded source packages are in
‘/tmp/RtmpqfWbYL/downloaded_packages’
La dernière information vous indique où se trouvent les fichiers originaux du paquet. Ils ne sont pas nécessaires à l'utilisation du paquet et sont donc généralement copiés dans un dossier temporaire.
Enfin, pour installer plus d'un paquet R à la fois, il suffit de les écrire sous forme de vecteur de caractères dans le premier argument de la fonction install.packages()
:
install.packages(c("vioplot", "MASS"))
Installation à partir de miroirs CRAN
Rappelez-vous que le CRAN est un réseau de serveurs (chacun d'entre eux étant appelé "miroir"), vous pouvez donc spécifier celui que vous souhaitez utiliser. Si vous utilisez R via l'interface RGui, vous pouvez le faire en le sélectionnant dans la liste qui apparaît juste après avoir utilisé la commande install.packages()
. Sur RStudio, le miroir est déjà sélectionné par défaut.
Vous pouvez également sélectionner votre miroir en utilisant la fonction chooseCRANmirror()
, ou directement dans la fonction install.packages()
en utilisant le paramètre repo. Vous pouvez consulter la liste des miroirs disponibles sur getCRANmirrors()
ou directement sur la page des miroirs du CRAN.
Exemple : pour utiliser le miroir de la Bibliothèque universitaire de Gand (Belgique) afin d'installer le paquetage vioplot
, vous pouvez exécuter ce qui suit :
install.packages("vioplot", repo = "https://lib.ugent.be/CRAN")
Installation des paquets Bioconductor
Dans le cas de Bioconductor, la méthode standard d'installation d'un paquetage consiste à exécuter d'abord le script suivant :
source("https://bioconductor.org/biocLite.R")
Cela permet d'installer certaines fonctions de base nécessaires à l'installation des paquets de bioconducteurs, telles que la fonction biocLite()
. Si vous souhaitez installer les paquets de base de Bioconductor, saisissez-le sans autre argument :
biocLite()
Si, toutefois, vous n'êtes intéressé que par quelques paquets particuliers de ce dépôt, vous pouvez taper leur nom directement sous forme de vecteur de caractères :
biocLite(c("GenomicFeatures", "AnnotationDbi"))
Installation de paquets via devtools
Comme vous l'avez lu plus haut, chaque dépôt a sa propre façon d'installer un paquet, donc dans le cas où vous utilisez régulièrement des paquets provenant de différentes sources, ce comportement peut être un peu frustrant. Un moyen plus efficace est probablement d'utiliser le paquetage devtools
pour simplifier ce processus, car il contient des fonctions spécifiques pour chaque dépôt, y compris le CRAN.
Vous pouvez installer devtools
comme d'habitude avec install.packages("devtools")
, mais vous devrez peut-être aussi installer Rtools sous Windows, les outils de ligne de commande Xcode sous Mac, ou r-base-dev et r-devel sous Linux.
Une fois devtools
installé, vous pourrez utiliser les fonctions utilitaires pour installer d'autres paquets. Les options sont les suivantes :
install_bioc()
de Bioconductor,install_bitbucket()
de Bitbucket,install_cran()
depuis le CRAN,install_git()
à partir d'un dépôt git,install_github()
de GitHub,install_local()
à partir d'un fichier local,install_svn()
à partir d'un dépôt SVN,install_url()
à partir d'une URL, etinstall_version()
à partir d'une version spécifique d'un paquet CRAN.
Par exemple, pour installer le paquet babynames à partir de son dépôt Github, vous pouvez utiliser :
devtools::install_github("hadley/babynames")
4. Comment mettre à jour, supprimer et vérifier les paquets R installés
Après avoir passé plus de temps avec R, il est normal que vous utilisiez install.packages()
plusieurs fois par semaine ou même par jour, et étant donné la vitesse à laquelle les paquets R sont développés, il est possible que tôt ou tard vous ayez besoin de mettre à jour ou de remplacer vos paquets préférés. Dans cette section, vous trouverez quelques fonctions qui peuvent vous aider à gérer votre collection.
- Pour vérifier quels paquets sont installés sur votre ordinateur, vous pouvez utiliser :
installed.packages()
- La désinstallation d'un paquet est simple avec la fonction
remove.packages()
, dans votre cas :
remove.packages("vioplot")
- Vous pouvez vérifier quels paquets ont besoin d'une mise à jour en appelant la fonction :
old.packages()
- Vous pouvez mettre à jour tous les paquets en utilisant :
update.packages()
- Mais pour un paquet spécifique, il suffit de l'utiliser à nouveau :
install.packages("vioplot")
5. Existe-t-il des interfaces utilisateur pour l'installation des paquets R ?
Si vous préférez une interface graphique (c'est-à-dire pointer et cliquer) pour installer les paquets, RStudio et RGui les incluent tous deux. Dans RStudio, vous le trouverez sous Tools -> Install Package, et vous obtiendrez une fenêtre pop-up pour taper le paquet que vous voulez installer :
Dans RGui, vous trouverez les utilitaires dans le menu Packages.
6. Comment charger les paquets
Après l'installation d'un paquet, vous êtes prêt à utiliser ses fonctionnalités. Si vous n'avez besoin que d'une utilisation sporadique de quelques fonctions ou données à l'intérieur d'un paquet, vous pouvez y accéder à l'aide de la notation packagename::functionname()
. Par exemple, puisque vous avez installé le paquetage babynames
, vous pouvez explorer l'un de ses ensembles de données.
Vous souvenez-vous de l'aperçu des fonctions et des données contenues dans un paquet ?
Oui, le site help(package = "babynames")
peut vous le dire.
Pour accéder à l'ensemble de données sur les naissances à l'intérieur du paquet babynames
, il vous suffit de taper :
babynames::births
## # A tibble: 6 x 2
## year births
## <int> <int>
## 1 2009 4130665
## 2 2010 3999386
## 3 2011 3953590
## 4 2012 3952841
## 5 2013 3932181
## 6 2014 3988076
Si vous avez l'intention d'utiliser le paquet de manière plus intensive, cela vaut peut-être la peine de le charger dans la mémoire. La façon la plus simple de procéder est d'utiliser la commande library()
.
Veuillez noter que l'entrée de install.packages()
est un vecteur de caractères et nécessite que le nom soit entre guillemets, tandis que library()
accepte soit un caractère soit un nom et vous permet d'écrire le nom du paquet sans guillemets.
Après cela, vous n'avez plus besoin de la notation package::function()
, et vous pouvez accéder directement à ses fonctionnalités comme n'importe quelle autre fonction ou donnée de la base R :
births
## # A tibble: 6 x 2
## year births
## <int> <int>
## 1 2009 4130665
## 2 2010 3999386
## 3 2011 3953590
## 4 2012 3952841
## 5 2013 3932181
## 6 2014 3988076
Vous avez peut-être entendu parler de la fonction require()
: il est en effet possible de charger un paquet avec cette fonction, mais la différence est qu'elle n'affichera pas d'erreur si le paquet n'est pas installé.
Utilisez donc cette fonction avec précaution !
Vous pouvez en savoir plus sur library() et require() dans R dans un autre article.
7. Quelle est la différence entre un paquet et une bibliothèque ?
En ce qui concerne la fonction library()
, il y a parfois une confusion entre un paquet et une bibliothèque, et vous pouvez trouver des gens qui appellent des "bibliothèques" des paquets.
Ne vous méprenez pas : library()
est la commande utilisée pour charger un paquet et fait référence à l'endroit où se trouve le paquet, généralement un dossier sur votre ordinateur, tandis qu'un paquet est la collection de fonctions regroupées de manière pratique.
Peut-être que cela peut vous aider une citation de Hadley Wickham, Chief data scientist chez RStudio, et instructeur du cours DataCamp "Writing functions in R" :
@ijlyttle un paquet est comme un livre, une bibliothèque est comme une bibliothèque ; vous utilisez library() pour extraire un paquet de la bibliothèque #rsats
- Hadley Wickham(@hadleywickham) 8 décembre 2014
Un autre bon moyen de se rappeler cette différence est d'exécuter la fonction library()
sans arguments. Il vous fournira la liste des paquets installés dans les différentes bibliothèques de votre ordinateur :
library()
8. Comment charger plus d'un package R à la fois ?
Bien que vous puissiez simplement saisir un vecteur de noms dans la fonction install.packages()
pour installer un paquet, ce n'est pas possible dans le cas de la fonction library()
. Vous pouvez charger un ensemble de paquets un par un, ou si vous préférez, utiliser l'une des nombreuses solutions de contournement développées par les utilisateurs de R.
Vous trouverez des exemples dans cette discussion Stack Overflow, ce package R et ce dépôt GitHub.
9. Comment décharger un package R
Pour décharger un paquet donné, vous pouvez utiliser la fonction detach()
. L'utilisation sera :
detach("package:babynames", unload=TRUE)
10. Quelles sont les autres sources de documentation et d'aide ?
Comme vous l'avez lu dans les sections précédentes, le fichier DESCRIPTION contient des informations de base sur un paquetage, et même si ces informations sont très utiles, elles ne vous aideront pas à utiliser ce paquetage pour votre analyse. Vous aurez ensuite besoin de deux autres sources de documentation : les fichiers d'aide et les vignettes.
Fichiers d'aide
Comme dans la version de base de R, les commandes ?()
et help()
, sont la première source de documentation lorsque vous commencez à utiliser un paquetage. Vous vous souvenez probablement que vous pouvez obtenir une vue d'ensemble du paquet en utilisant help(package = "packagename")
, mais chaque fonction peut être explorée individuellement par help("name of the function")
ou help(function, package = "package")
si le paquet n'a pas été chargé, où vous trouverez généralement la description de la fonction et de ses paramètres ainsi qu'un exemple d'application.
Par exemple, vous pouvez vous rappeler que pour obtenir le fichier d'aide de la commande vioplot
du paquetage vioplot
, vous pouvez taper :
help(vioplot, package = "vioplot")
Astuce: vous pouvez également utiliser une autre méthode pour voir ce que contient un paquet chargé. Utilisez la commande ls()
de cette manière :
library(babynames)
ls("package:babynames")
## [1] "applicants" "babynames" "births" "lifetables"
Vignettes
Une autre source d'aide très utile incluse dans la plupart des paquets est constituée par les vignettes, qui sont des documents dans lesquels les auteurs présentent certaines fonctionnalités de leur paquet de manière plus détaillée. Suivre les vignettes est un excellent moyen de se familiariser avec les utilisations courantes du logiciel, et c'est donc un moyen idéal de commencer à travailler avec lui avant d'effectuer votre propre analyse.
Comme vous vous en souvenez peut-être, les informations sur les vignettes contenues dans un paquet donné sont également disponibles dans son fichier DOCUMENTATION en local ou en ligne, mais vous pouvez également obtenir la liste des vignettes incluses dans vos paquets installés avec la fonction browseVignettes()
, et pour un paquet donné, il suffit d'inclure son nom en paramètre : browseVignettes(package="packagename")
. Dans les deux cas, une fenêtre de navigateur s'ouvrira pour vous permettre d'explorer facilement et de cliquer sur la vignette de votre choix pour l'ouvrir.
Si vous préférez rester dans la ligne de commande, la commande vignette()
vous montrera la liste des vignettes, vignette(package = "packagename")
, celles qui sont incluses dans un paquet donné, et après avoir trouvé celle que vous voulez explorer, il suffit d'utiliser la commande vignette("vignettename")
.
Par exemple, l'un des paquets les plus populaires pour la visualisation est ggplot2
. Vous l'avez peut-être déjà installé sur votre ordinateur, mais si ce n'est pas le cas, c'est l'occasion de le faire et de tester vos nouvelles compétences sur install.packages()
.
En supposant que vous ayez déjà installé ggplot2
, vous pouvez vérifier quelles vignettes sont incluses :
vignette(package = "ggplot2")
Deux vignettes sont disponibles pour ggplot2
, "ggplot2-specs" et "extending-ggplot2". Vous pouvez vérifier le premier avec :
vignette("ggplot2-specs")
Sur RStudio, elle sera affichée dans l'onglet Aide à droite, tandis que dans RGui ou sur la ligne de commande, elle ouvrira une fenêtre de navigation avec la vignette.
Vous trouverez d'autres options pour obtenir de l'aide de R sur le site R-Project.
11. Comment choisir les bons packages R
À ce stade, vous devriez être en mesure d'installer et de tirer le meilleur parti de vos paquets R, mais il reste une dernière question : où trouver les paquets dont vous avez besoin ?
La façon la plus courante de découvrir les paquets est d'apprendre R. Dans de nombreux tutoriels et cours, les paquets les plus populaires sont généralement mentionnés. Par exemple, le cours Nettoyage des données dans R vous apprend tout sur les points suivants tidyr.
Pour chaque sujet que vous souhaitez aborder en R, il existe probablement un package intéressant que vous pouvez trouver.
Mais qu'en est-il si vous avez un problème spécifique et que vous ne savez pas par où commencer, par exemple, comme je l'ai dit dans l'introduction de ce billet, si vous êtes intéressé par l'analyse de certains textes coréens ?
Et si vous souhaitiez collecter des données météorologiques ? Ou estimer l'évapotranspiration ?
Vous avez passé en revue plusieurs dépôts et vous savez que vous pouvez consulter la liste des paquets CRAN, mais avec plus de 10000 options, il est très facile de s'y perdre.
Voyons quelques alternatives !
Vue des tâches du CRAN
Une alternative consiste à parcourir les catégories de paquets du CRAN, grâce aux vues des tâches du CRAN. C'est exact ! CRAN, le dépôt officiel, vous donne également la possibilité de parcourir les paquets. Les vues des tâches sont essentiellement des thèmes ou des catégories qui regroupent les paquets en fonction de leurs fonctionnalités.
Comme vous pouvez le voir ci-dessous, tous les paquets ayant trait à la génétique seront classés dans la vue des tâches "Génétique" :
En prenant l'exemple des textes coréens, vous pouvez facilement trouver le paquet dont vous avez besoin en naviguant vers la vue des tâches de traitement du langage naturel. Vous pouvez alors lire le texte pour trouver le paquet qui peut traiter vos textes, ou vous pouvez faire un simple CTRL+F et taper le mot-clé que vous recherchez.
Vous aurez le bon paquet en un rien de temps, c'est garanti !
RDocumentation
Une autre alternative pour trouver des paquets peut être RDocumentation, un agrégateur de documentation d'aide pour les paquets R de CRAN, BioConductor, et GitHub, qui vous offre une boîte de recherche prête pour vos demandes directement sur la page principale.
Vous ne connaissez peut-être pas encore cette seconde alternative, alors creusons un peu plus !
Commençons par les textes coréens. L'une des fonctionnalités intéressantes de RDocumentation est la recherche rapide, qui permet d'afficher les premiers résultats pendant que vous tapez :
Si vous saisissez le mot clé "coréen" et cliquez sur "Rechercher", vous obtiendrez deux colonnes de résultats : les paquets à gauche et les fonctions à droite.
Pour chaque résultat, vous obtenez le nom du paquet, avec un lien vers des informations plus détaillées, le nom de l'auteur, avec un lien vers d'autres paquets du même auteur, une description du paquet avec le mot recherché en surbrillance, et des informations sur la popularité du paquet.
En ce qui concerne la popularité, elle est importante car la recherche classera les paquets les plus téléchargés en premier afin d'améliorer la pertinence des résultats. Si vous voulez en savoir plus sur l'implémentation de la recherche dans la RDocumentation, vous avez un article très détaillé sur la notation et le classement.
Il semble donc que le paquet KoNLP
puisse répondre à vos besoins. Après avoir cliqué sur son nom, vous obtiendrez les informations suivantes :
- Un en-tête avec le nom du paquet, l'auteur, la version, l'option de sélection des anciennes versions, le nombre de téléchargements et un lien vers la page RDocumentation.
- Une description du paquet.
- La liste des fonctions incluses dans le paquet, où chacune d'entre elles est cliquable afin que vous puissiez obtenir plus de détails sur l'utilisation de la fonction. Vous disposez également d'un champ de recherche qui vous permet d'accéder rapidement à la fonction souhaitée.
- Un graphique montrant l'évolution du nombre de téléchargements.
- Les détails du paquet avec les informations du fichier DESCRIPTION.
- Et enfin, un badge qui peut être inclus dans le fichier README du paquet avec le lien vers la RDocumentation.
- Paquet RDocumentation. RDocumentation n'est pas seulement un site web mais aussi un paquetage R. Il remplace les fonctions d'aide afin que vous puissiez intégrer la puissance de la RDocumentation dans votre flux de travail. Après le chargement de ce paquet, la fonction
help()
ouvrira une fenêtre de navigateur ou votre panneau d'aide RStudio avec accès à RDocumentation.
Le fait d'avoir RDocumentation directement sur votre panneau R ou RStudio vous donne quelques avantages par rapport à l'utilisation du site web :
- Vérifiez la version installée du paquet. Le volet d'aide d'un paquet vous fournira les mêmes informations que la page web (téléchargements, description, liste des fonctions, détails), ainsi que des informations sur la version installée du paquet.
Vérifiez, par exemple, le paquet vioplot
que vous avez installé précédemment :
install.packages("RDocumentation")
library(RDocumentation)
help(package = "vioplot")
- Possibilité d'installer ou de mettre à jour un paquet directement à partir du panneau d'aide. Je sais que vous êtes maintenant un expert de l'installation de paquets, mais vous avez une autre alternative, en cliquant sur un bouton du panneau d'aide fourni par RDocumentation.
remove.packages("vioplot")
help(package = "vioplot")
- Exécutez et proposez des exemples. Le volet d'aide des fonctions à l'intérieur d'un paquet vous offre la possibilité d'exécuter à nouveau les exemples en cliquant simplement sur un bouton. Vous pouvez également proposer des exemples qui peuvent être intégrés à la page d'aide et testés par d'autres utilisateurs de R.
install.packages("vioplot")
help(vioplot)
Conclusions
Le billet d'aujourd'hui a couvert un large éventail de techniques et de fonctions permettant de tirer le meilleur parti de R grâce à l'utilisation de packages. Comme d'habitude, il y a plus d'une façon d'effectuer une tâche spécifique dans R, et la gestion des paquets n'est pas une exception.
Nous espérons que vous avez appris les méthodes les plus utilisées et certaines méthodes alternatives pour découvrir, installer, charger, mettre à jour, obtenir de l'aide ou supprimer un paquetage R.
Cet article n'a pas couvert beaucoup de détails sur la structure interne des paquets, ni sur la façon de créer les vôtres. Restez à l'écoute du blog et des cours de DataCamp pour ces sujets et d'autres sujets connexes, mais en attendant, une bonne référence est le livre "R packages" que vous pouvez trouver ici.
Si vous ne l'avez pas encore découvert en cherchant sur RDocumentation, avec weatherData
vous pouvez extraire des données météorologiques de l'internet, et si vous êtes intéressé par l'évapotranspiration, vous devriez peut-être jeter un coup d'œil à la section Evapotranspiration
, water
, ou SPEI
paquets.
R Cours
cours
Introduction to R
cours
Intermediate R
cours
Cleaning Data in R
blog
Les 32 meilleures questions d'entretien sur AWS et leurs réponses pour 2024
blog
Les 20 meilleures questions d'entretien pour les flocons de neige, à tous les niveaux

Nisha Arya Ahmed
20 min
blog
2022-2023 Rapport annuel DataCamp Classrooms
blog
Q2 2023 DataCamp Donates Digest
blog
Nous avons fait don de bourses DataCamp Premium à un million de personnes, et ce n'est pas fini.
blog
Célébration de Saghar Hazinyar : Une boursière de DataCamp Donates et une diplômée de Code to Inspire

Fereshteh Forough
4 min