Analyse de données avec R

Utilisation d’un langage de programmation Open Source pour les SHS

ICM, Campus Condorcet, novembre 2023


Hugues Pecout (CNRS, UMR Géographie-Cités)

Sommaire


A. Pourquoi utiliser R ?

  • Logiciels vs langages
  • Langages vs langages
  • Présentation de R et Rstudio
  • Installation

B. Introduction au langage

  • Les bases du langage R
  • R-base et packages
  • Quelques packages de référence
  • Aide et documentation


C. Exemple appliqué

→ Chaîne de traitement appliquée à des données climatiques

Logiciels vs langages

SAS, SPAD, SPSS… et R !


Il existe de nombreux logiciels d’analyse statistique. Mais depuis le début des années 2000, le langage R gagne en importance dans ce domaine et s’impose progressivement comme une référence, au même titre que les trois principaux logiciels d’analyse de données qui dominent le marché.



Plusieurs aspects peuvent nous laisser penser que de nombreux utilisateurs de logiciels statistiques devraient progressivement converger vers R…

Limites des logiciels propriétaires


  • Des prix des licences parfois onéreux
  • Des problèmes d’intéropérabilité avec les différents OS
  • Un développement contrôlé qui induit des limites
  • Des spécificités et une polyvalence limité

Prix licence SPSS Base edition


Intéropérabilité des principaux logiciels :

Logiciel/Système Windows MacOS Linux BSD Autres Unix
SAS oui terminé oui non oui
SPAD oui non non non non
SPSS oui oui non non non
Stata oui oui oui non non

Autant d’obstacles pour :



  • L’utilisation
  • Le travail collaboratif
  • Le travail interdisciplinaire
  • La reproductibilité
  • La formation


C’est pour cela que l’on préfère R !

Frères ennemis


Deux langages très utilisés pour le traitement et l’analyse des données en SHS.
Très souvent comparés pour leurs fonctionnalités semblables



L’utilisation de R ou de Python dépend surtout de :
Qui suis-je ? Qu’est-ce que je veux faire ?

Deux communautés différentes


  • Documentation riche et structurée
  • Communauté accessible et inclusive
  • Discipline : analyse de données
  • Métiers : recherche & développement

  • Plus d’utilisateur·rices
  • Communauté plus spécialisé en informatique
  • Discipline : science des données
  • Métiers : informaticien, développeur

Différents points forts

 

R a autant de cerveau…

  • Plus facile à prendre en main (Rstudio)
  • Analyse statistique
  • Représentation graphique
  • Literate programming (production de document)


→ Spécialisé dans l’analyse statistique
→ Pour utilisateu·rices moins avancés en progr.

…que Python a du muscle !

  • Plus puissant et généraliste
  • Gestion de données volumineuses
  • Web scraping et TAL
  • Développement de logiciel


→ Spécialisé dans la science de données
→ Pour utilisateu·rices avancés en progr.

Et le langage ?


En 2008, au MIT, quelques chercheurs se rassemblent et font un point sur les outils disponibles pour le calcul scientifique et statistique. Principal constat, la communauté était éclatée :

  • des développeurs utilisateurs de C ou de python,
  • des statisticiens utilisateurs de R,
  • et des utilisateurs de solutions commerciales ayant leur propre langage (SAS, Matlab…)

il fallait un langage prenant tous les avantages de chaque langage et rajoutant un aspect de plus en plus pointé du doigt : la parallélisation massive (rapidité de calcul)… Voici comment la langage Julia est né !


Bien que la communauté d’utilisateur.rices se soit depuis agrandie, le langage Julia ne s’est toujours pas imposé dans la communauté SHS, où R et Python semble toujours les langages les plus utilisés pour l’analyse de données

Un peu d’histoire


R se base sur le langage de programmation S, créé en 1988.
L’objectif était de créer le meilleur environnement d’analyse statistique.

  • 1992: R. Gentleman et R. Ihaka démarrent le développement (projet de recherche)
  • 1993: Première version binaire de R publiée sur Statlib
  • 1995: R est distribué en tant que logiciel open source, sous licence GPL2
  • 1997: Création du R core group. Création du CRAN (par K. Jornik et F. Leisch)
  • 1999: Création du site web de R (r-project.org) . Première réunion physique de la R core team
  • 2000: R 1.0.0 est publié. John Chambers (créateur du langage S), rejoint la R Core team
  • 2001: Création de R News (qui deviendra R Journal)
  • 2003: Création de la R Foundation
  • 2004: Première conférence UseR! (Vienne)
  • 2004: R 2.0.0 est publié
  • 2009: Première édition du R Journal
  • 2013: R 3.0.0 est plublié
  • 2015: Création du R Consortium (avec la participation de la R Foundation)
  • 2020: R 4.0.0 est plublié

Soutiens financiers importants


R est le résultat de 30 années de recherche & développement. Aujourd’hui, plusieurs acteurs économiques importants financent le développement de R : Microsoft, Google, Oracle, Esri

Libre et multi-plateforme



  • R est un logiciel/langage libre (open source)


  • R fait partie de la liste des paquets GNU GPLv3


  • R est multi-plateforme


Logiciel/Sytsème Windows MacOS Linux BSD Autres Unix
R oui oui oui oui oui

Des fonctionnalités croissantes


R propose 2982 fonctions statistiques et graphiques standard (primitives)

Sur ce socle commun peut s’ajouter de nombreux packages, mis à disposition sur le Comprehensive R Archive Network (CRAN). Ex :

  • FactoMineR - analyse multivariée des données
  • quanteda - analyse textuelle
  • igraph - analyse de réseau
  • sf - manipulation de données spatiales vectorielles
  • terra - manipulation de données spatiales RASTER
  • mapsf - Cartographie thématique
  • shiny - applicacions web interactives


R a une structure modulaire qui offre toute une gamme d’applications possibles. Son expansion n’est limitée que par les contributions !

Des fonctionnalités croissantes…


Nombre de packages disponibles sur le CRAN

… Pour un langage polyvalent

Les packages permettent d’opérer sur l’ensemble de la chaîne de traitement, de la collecte des données à la valorisation des résultats (diaporama, rapport statistique, site web…).

Cette polyvalence permet à R de compléter (et de concurrencer) toute une série de logiciels existants

R est-il fiable ?


Peut-on avoir confiance en un langage Open Source ?


  • Financement d’acteurs économiques (R Consortium)
  • Communauté impliquée et importante
  • Le fonctionnement d’un logiciel open source est vérifiable
  • Tous les logiciels ont des failles, mais…


L’information circule vite dans les communautés des logiciels OS !

Une grande communauté d’utilisateurs

Et d’entreprises

Polyvalence et reproductibilité



  • Un seul environnement pour toutes les étapes de traitement
  • Un seul environnement pour traiter les différents types de données
  • Un seul environnement pour réaliser différents types d’analyses
  • Mise en place de chaînes de traitement optimisées et uniques
  • Traitements et analyses facilement archivés et partagés
  • Il suffit d’un ordinateur pour les reproduire….


Seulement possible avec un langage Open Source spécialisé dans l’analyse statistique

Des points faibles ?


OUI !


  • R est un langage de programmation
  • Son apprentissage est long, parfois douloureux…
  • L’interface de base est très rudimentaire
  • La majorité des ressources sont en anglais


Mais …

Rstudio ?


RStudio, qui se nomme désormais Posit, est une entreprise qui développe et publie des logiciels et des services basés sur le langage R. C’est l’acteur privé le plus important de la communauté R. Rstudio est à l’origine de nombreux packages de référence. Ex :

La majorité des packages de Rstudio sont regroupés dans un package “parapluie” : tidyverse

Posit propose également un Environnement de Développement Intégré qui facilite énormément la pratique du langage R : l’IDE Rstudio

L’interface de R

Interface de R sur Windows

Pas d’interface sur Linux (terminal)



L’IDE Rstudio facilite l’apprentissage de R et son utilisation

IDE Rstudio

IDE Rstudio

l’IDE Rstudio, c’est aussi :


  • La création de projet
  • Des fonctionnalités clic-bouton
  • Un système d’Auto-complétion
  • De nombreux raccourcis clavier
  • Certains packages pré-installés
  • Le système de publication Quarto intégré

Parce que c’est simple, complet, en constante évolution et développé par le principale acteur de la communauté : utilisez l’IDE RStudio!

Installation

Installer R


L’installation de R et de l’IDE Rstudio se fait comme n’importe quel autre logiciel.
Connectez-vous au CRAN pour télécharger R.


Installer l’IDE Rstudio

Téléchargez la version ‘Desktop’ sur le site de Rstudio

C’est parti !

Lancez Rstudio (pas R) pour commencer

Les bases du langage R

Une super calculatrice


Le langage R offre les mêmes fonctionnalités qu’une calculatrice.


Nom Opérateurs arithmétiques Exemple Résultat
Addition + 5 + 3 8
Soustraction - 5 - 1 4
Multiplication * 5*5 25
Division / 5/5 1
Puissance ^ 5^5 3125
Modulo %% 5 %% 5 0
Quotient Décimal %/% 5 %/% 5 1


Exemples appliqués :

3 + 5
[1] 8


(3+4) * 5^3 / 10
[1] 87.5


(3.2 + 4.1) * 5.9^3 / 10.002
[1] 149.8967

Une super calculatrice


Plusieurs types d’opérateurs sont disponibles :


Conditions Opérateurs relationnels Exemple Résultat
plus petit que < 5 < 5 FALSE
plus grand que > 5 > 5 FALSE
plus petit ou égal à <= 5 <= 5 TRUE
plus grand ou égal à >= 5 >= 5 TRUE
égal à == 5 == 5 TRUE
différent de != 5 != 5 FALSE
présent dans %in% 5 %in% 1:5 TRUE


x égale à y ?

5 == 5
[1] TRUE


x différent de y ?

5 != 5
[1] FALSE


x présent dans y ?

c(1,7,3,2) %in% c(7,4,5,3)
[1] FALSE  TRUE  TRUE FALSE



Condition Opérateurs logiques
différent de !
et &
ou I
ou exclusif xor()
valeur manquante is.na()
valeur nulle is.null()
vrai isTRUE()
faux isFALSE()


Valeur manquante ?

is.na(NA)
[1] TRUE


Différent de ‘NA’ ?

!is.na(13)
[1] TRUE


Contrôle à deux conditions

!is.na(13) & 2 == 2
[1] TRUE

Qui propose des fonctions avancées

Des milliers de fonctions pour manipuler, analyser et représenter ses données. Une fonction contient une série de commandes (code) qui effectuent une tâche prédéfinie. Elle prend des informations (arguments) en entrée et renvoie un résultat. Les fonctions s’utilisent toujours de la même façon : nom_fonction()


→ Fonction round() pour arrondir un nombre

round(12.33453)
[1] 12


→ Fonction nchar() pour calculer un nombre de caractères

nchar("Institut Convergences Migrations")
[1] 32


→ Fonction strsplit() pour fractionner une chaine de caractère

strsplit(x = "Mali, Niger, Lybie, Italie, France", split = ", ")
[[1]]
[1] "Mali"   "Niger"  "Lybie"  "Italie" "France"


→ Fonction plot() pour la représentation graphique

plot(x = 1:20, y = 11:30)


Dans la majorité des cas, des arguments doivent être renseignés pour utiliser une fonction.

# Affichage graphique
plot(x = 1:20, 
     y = 11:30, 
     type = "p",
     pch = 15, 
     cex = 2, 
     col= "deepskyblue3",
     main = "Mon premier plot avec R",
     cex.main = 2,
     col.main = "darkgoldenrod4",
     col.axis = "red4",
     xlab = "Ma première variable", 
     ylab = "Ma seconde variable")


Les fonctions peuvent être :

  • mises à disposition par le R base (fonctions primitives ou standards),
  • mises à disposition par un package (extension du langage R base),
  • développées en local par les tous utilisateur.rices.

R <- un_objet

R = Programmation Orientée Objet ?


Tout ce que l’on crée dans R sont des objets. Mais contrairement au langage Python, il ne s’agit pas d’un langage de POO.


La POO est un paradigme de programmation basé sur le concept d’objets, qui peuvent contenir des données et métadonnées (attributs), et qui sont associés à des procédures, souvent appelées méthodes.

Il est néanmoins possible de faire de la POO avec R !

Créer un objet


Pour créer un objet, choisissez un nom et assignez-lui un contenu avec le symbole <-

obj <- 15

obj
[1] 15


Un objet peut-être réutilisé pour des calculs :

obj + 20.55
[1] 35.55


Le contenu d’un objet peut être modifié :

obj <- obj + 20.55

obj
[1] 35.55


Un objet peut-être réutilisé dans une fonction

round(obj)
[1] 36

Type de données

Il est possible de stocker différents types de données à un objet R. Les plus classiques :


Type définition Exemple
numeric nombre 3 ou 4.23
integer nombre entier 3
double nombre double 4.23
logical logique ou booléen TRUE ou FALSE
string chaîne de caractères “Hello”
factor string (modalités prédéfinies) “Hight”
date date formatée 2020-12-14
NA absence de valeur (tout type) NA


Exemples :

obj_na <- NA

obj_num <- 3.14 

obj_bool <- FALSE    

obj_str <- "Bla bla..." 

obj_dat <- as.Date("2023-11-28")


Différentes fonctions peuvent être appliquées aux différents types de données stockés, et aux différents types d’objets. Exemple :

weekdays(obj_dat)
[1] "mardi"

Les objets R

Il existe plusieurs types d’objets permettant de stocker différents formats et types de données. 

  • Function - Fonction
  • Vector - liste d’éléments de même nature
  • Data.frame - Tableau de données
  • Matrix - Matrice
  • Array - Ensemble de matrices
  • List - Liste d’objet
  • Factor - vecteur avec une liste de modalités prédéfinies
  • Time serie - Série temporelle

De nombreux types d’objets sont également mis à disposition par différents packages. Ex : 

  • Simple feature - Données géographiques vectorielle - package sf
  • SpatRaster - Données géographiques RASTER - package terra

Les indispensables


Une fonction est un objet qui peut se construire avec la fonction function()

ma_premiere_fonction <- function(who){ 
  
                                       message <- paste("Bienvenue à", who)
                                       
                                       return(message)
  
                                      }


ma_premiere_fonction() devient est une fonction comme une autre.

ma_premiere_fonction( who = "l'Institut Convergences Migrations" )
[1] "Bienvenue à l'Institut Convergences Migrations"

Le vecteur est l’objet de base de R. Il permet de stocker plusieurs éléments du même type.

nom <- "Martina"


La fonction c() permet de construire un vecteur de plusieurs éléments

noms <- c("Martina", "Leo", "Inès", "Joshua")

noms
[1] "Martina" "Leo"     "Inès"    "Joshua" 


Pour naviguer dans cet objet unidimensionnel, utilisez les crochets.

→ Sélection du premier élément

noms[1]
[1] "Martina"


→ Sélection des éléments 2 et 4

noms[c(2,4)]
[1] "Leo"    "Joshua"

Le data.frame correspond au tableau de données classique. il se compose de plusieurs colonnes pouvant contenir des données de nature différente. Chaque colonne d’un data.frame est un vecteur.

# Construction de plusieurs vecteurs de même longueur

nom <- c("Modibo Keïta", "Moussa Traoré", "Alpha Oumar Konaré")
date_naissance <- c("1915-06-04", "1936-09-25", "1946-02-02")
annee_arrivee_pouvoir <- c(1960, 1968, 1992)
duree_au_pouvoir <- c(8, 23, NA)
parcours_militaire <- c(FALSE, TRUE, FALSE)


Utilisez la fonction data.frame() pour construire un tableau

mon_tableau <- data.frame(nom,
                          date_naissance,
                          annee_arrivee_pouvoir,
                          duree_au_pouvoir,
                          parcours_militaire )
  
mon_tableau 
                 nom date_naissance annee_arrivee_pouvoir duree_au_pouvoir
1       Modibo Keïta     1915-06-04                  1960                8
2      Moussa Traoré     1936-09-25                  1968               23
3 Alpha Oumar Konaré     1946-02-02                  1992               NA
  parcours_militaire
1              FALSE
2               TRUE
3              FALSE


Utilisez les crochets pour naviguer dans un tableau : mon_tableau [ ligne , colonne ]

→ Sélection par index : première ligne et toutes les colonnes

mon_tableau[ 1 , ]
           nom date_naissance annee_arrivee_pouvoir duree_au_pouvoir
1 Modibo Keïta     1915-06-04                  1960                8
  parcours_militaire
1              FALSE


→ Sélection par index : toutes les lignes et colonnes 1, 3 et 5

mon_tableau[  , c(1,3,5)]
                 nom annee_arrivee_pouvoir parcours_militaire
1       Modibo Keïta                  1960              FALSE
2      Moussa Traoré                  1968               TRUE
3 Alpha Oumar Konaré                  1992              FALSE


→ Sélection par index : 2e ligne et colonnes 1 et 5

mon_tableau[2, c(1,5)]
            nom parcours_militaire
2 Moussa Traoré               TRUE


→ Sélection par index : 2e ligne et colonnes “nom” et “parcours_militaire”

mon_tableau[ 2 , c("nom", "parcours_militaire")]
            nom parcours_militaire
2 Moussa Traoré               TRUE


Vous pouvez également utiliser le signe $ pour séléctionner une colonne : mon_tableau$date_naissance

→ Sélection colonne ‘date_naissance’

mon_tableau$date_naissance
[1] "1915-06-04" "1936-09-25" "1946-02-02"


→ Valeur de la seconde ligne dans la colonne ‘date_naissance’

mon_tableau$date_naissance[2]


Utilisez les différents opérateurs pour sélectionner par condition

→ Sélection par condition

mon_tableau[mon_tableau$duree_au_pouvoir > 20 , ]
 
mon_tableau[mon_tableau$annee_arrivee_pouvoir > 1965  &  mon_tableau$parcours_militaire == FALSE, ]

mon_tableau[mon_tableau$duree_au_pouvoir >= 10  |  is.na(mon_tableau$duree_au_pouvoir), ]

mon_tableau[nchar(mon_tableau$nom) > 15, ]

Une liste permet de stocker plusieurs objets (peu importe le type) en un seul. Une liste est une collection d’objet. Utilisez la fonction list() pour construire une liste.

Ma_list <- list(ma_premiere_fonction, 
                noms,
                mon_tableau)


C’est un super objet très utile et puissant. Cet objet est utilisé par plusieurs packages de référence. Pour naviguer dans une liste, utilisez des doubles crochets : Ma_list[[ index ]]


→ Sélection du 2nd objet de Ma_list

Ma_list[[2]]
[1] "Martina" "Leo"     "Inès"    "Joshua" 


→ Sélection au sein d’un objet d’une liste (2e ligne et 1ère colonne de mon objet 3)

Ma_list[[3]][2 , 1]
[1] "Moussa Traoré"

R base & packages

Le R base


Le langage R offre 2344 fonctions de base* stockées dans 7 packages standards, installés et chargés par défault.

  • base = 1258 fonctions de base qui permettent à R de fonctionner comme un langage
  • utils = 225 fonctions utilitaires (ex : installation de package, import/export…)
  • stats = 452 fonctions statistiques pour les calculs et la génération de nombres aléatoires
  • grDevices = 119 fonctions pour la gestion des périphériques graphiques
  • graphics = 87 fonctions graphiques
  • methods = 203 fonctions pour définir des méthodes et classes pour les objets R
  • datasets = 416 jeux de données d’exemples

638 fonctions supplémentaires sont également mises à disposition via 5 autres packages pré-installés (grid, splines, stats4, tcltk, tools), mais pas automatiquement chargés. (*le 2023-11-28)


Ce socle commun de fonctionnalité est couramment nommé le R-base

Le R base


Les fonctionnalités standards (ou primitives) proposées par le R-base permettent de réaliser beaucoup de choses. Il est cependant nécessaire d’installer des packages pour profiter de certaines fonctionnalités, ex :


  • Gérer des types de données spécifiques (ex : géographique, image, son…)
  • Utiliser des méthodes d’analyses spécifiques (ex : réseau, séquence, NLP…)
  • Produire des représentations graphiques particulières et/ou élégantes
  • Optimiser son code (fonctions codées en C++, parallélisation…)
  • Interagir avec d’autres outils (web scraping, production de support…)

Les packages du CRAN


20102 packages sont disponibles sur le système officiel de stockage des packages : le Comprehensive R Archive Network.


Installation d’un package du CRAN en ligne de commande

install.packages("mapsf")


Pour utiliser les fonctions du package, chargez la librairie :

library(mapsf)

→ Il est nécessaire de charger la librairie à chaque nouvelle session R



Il existe également d’autres sources de stockage :

  • Bioconductor qui concentre des packages portant sur l’analyse des données génomiques
  • R-forge qui est une plateforme orientée vers les développeurs
  • GitHub qui est un service web d’hébergement et de gestion de développement de logiciels, utilisant le logiciel de gestion de versions Git


Pour installer un package stocké sur GitHub, commencez par installer le package remotes :

install.packages("remotes")


Puis utilisez sa fonction install_github() :

remotes::install_github("inseefrlab/apinsee")


library(apinsee)

il est nécessaire d’installer Rtools sur Windows pour réaliser cette opération.

Quelques packages de référence

Import de tableau de données


R base
Fichiers texte



readxl
Fichiers Excel


readr
Tableaux (csv, tsf, fwf, log…)



haven
Données SPSS, Stata et SAS

Collecte automatisée


rvest
web scraping (Rstudio)



plumber
Créer interface API


rselenium
web scraping (Selenium)


Interfaces d’API et BD

eurostat - rOpenGov package - Interface API Eurostat
insee - Données et métadonnées INSEE (BDM)
wbstats et WDI - Interface API et données Banque mondiale
wpp2017 - Données UN (World Population Prospects 2017)
rnaturalearthdata - rOpenSci package - Données Natural Earth
osmdata - rOpenSci package - Interface API OpenStreetMap
rtweet - rOpenSci package - Interface API Twitter
tuber - Interface API Youtube
spotifyr - Interface API Spotify
googleAuthR, googleAnalyticsR, searchConsoleR… - API’s Google

Manipulation de données


R base
Manipulation de données



dplyr
Manipulation de données



lubridate
Manipulation de dates


data.table
Manipulation de données



tidyr
Manipulation de tableaux



stringr
Chaînes de caractères

Le tidyverse

Collection de packages conçues pour fonctionner ensemble et basés sur une philosophie commune. Ils abordent un très grand nombre d’opérations courantes dans R.

Ils sont en grande partie issues du travail d’Hadley Wickham, développeur emblématique qui travaille pour RStudio.

Statistique mulivariée


  • R base : Statistique univariée, bivariée, test de probabilité…
  • FactoMineR : Analyse exploratoire multidimensionnelle cf. FactoInvestigate, factoextra, Factoshiny
  • ade4 : Analyse exploratoire multidimensionnelle avec procédures exploratoires d’essence euclidienne
  • easystats : Suite de packages pour faciliter l’utilisation de techniques statistiques avancées


explor : interactive exploration of multivariate analysis results

Traitement d’enquête





R base
Statistique basique, tableaux croisés…



survey
Construction de plan d’échantillonnage complexe





questionr
Contient un addin (interface graphique)

Analyse Textuelle



Package avec interface graphique :

  • RcmdrPlugin.temis : Interface graphique pour R.temis
  • IRaMuTeQ : Analyses Multidimensionnelles de Textes et de Questionnaires

Analyse de réseau



  • igraph : Analyse de graphe. Disponible en c/c++, python et Mathematica

  • tnet : Analyse pondérée, bimodale et longitudinale des graphe

  • bipartite : Analyse de graphe biparti

  • blockmodeling : Modélisation de réseau valué

  • Rsiena : Simulation de modèles stochastiques

Données géographiques


sf
Import, manipulation et analyse de données vectorielles



stars
Import et traitement de données raster (et vecteurs)


raster
Import, manipulation et analyse de données raster



terra
Import et traitement de données raster (et vecteurs)

Représentation Graphique


R base
Représentation graphique standard



esquisse
Interface graphique pour créer des graphiques ggplot2


ggplot2
Représentation graphique avancée basée sur la grammaire graphique



plotly
Graphiques interactifs, adaptation librairie JavaScript


Cartographie


tmap
Cartographie thématique





leaflet
Adaptation librairie JavaScript


mapsf
Cartographie thématique



mapview
Carte interactive basée sur API Leaflet

Valorisation & Publication


rmarkdown
Literate programming



xaringan
Literate programming - diaporama



pagedown
Literate programming - Créer PDFs avec CSS (comme LaTeX)…



shiny
Application interactive


knitr
Compilation de document (notebook)



bookdown
Literate programming - Format Livre



blogdown
Construction de siteweb statique




flexdashboard
Tableau de bord


Et de nombreux modèles de mise en page… Ex : rmdformats (documents HTML)

Depuis 2022 :


Quarto est un nouveau système open-source de publication d’articles scientifiques, plus moderne que le Rmarkdown et facilement adaptable à différents cadres d’utilisation.

Quarto est développé par Posit™️ (Rstudio). Cet outil est ainsi directement accessible depuis l’IDE Rstudio .Il permet d’exploiter différents langages de programmation tels que R, Python, Julia ou JavaScript.

Quarto unifie et étend les fonctionnalités offertes par les différents notebooks existants, plus particulièrement les extensions Rmarkdown.


Ce Diaporama est un notebook Quarto. Pour en savoir plus, cliquez ici

Aide et documentation

Error & Warning


Commencez par lire les messages que renvoie la console !


Auto-complétion


La fonctionnalité d’auto-complétion proposée par Rstudio peut être très efficace. Utilisez la touche tab.





Documentation obligatoire

Les packages (base et CRAN) sont obligatoirement accompagnés d’une documentation. Vous pouvez y accéder en ligne de commande ou en clic-bouton :

library(mapsf)

help(mapsf)

?mapsf

?mf_map



Documentation officielle supplémentaire


La majorité des packages de référence propose de la documentation plus digeste à travers différents formats comme une vignette, une cheatsheet, voire même un site web.


Vignette du package mapsf

Cheatsheet (antisèche) du package mapsf


Site web du package mapsf

Et tout le reste !


La communauté R est très active et prolifique en matière de partage et de documentation. Des milliers de ressources sur la pratique de R sont accessibles sur le web.

Pour vous aider :

Référencement de ressources sur la pratique de R en SHS

Groupe d’utilisateur·rices pour le traitement de l’information géographique avec R




Exemples de ressources (en géomatique) référencées sur rzine.fr :

Ressources sur la manipulation de données climatiques ?


Quelques ressources détectées en une seule recherche sur Google :


Tout est question de mots clefs (et d’historique des recherches)

Débuter en douceur

Pour commencer l’apprentissage de R progressivement, vous pouvez utiliser des logiciels clic-bouton qui reposent sur le langage R et qui permettent de récuperer le code généré. Ex :

Réalisé avec…

R version 4.3.2 (2023-10-31)


→ Présentation Quarto Reveal JS



sessionInfo()
R version 4.3.2 (2023-10-31)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.3 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
 [1] LC_CTYPE=fr_FR.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=fr_FR.UTF-8        LC_COLLATE=fr_FR.UTF-8    
 [5] LC_MONETARY=fr_FR.UTF-8    LC_MESSAGES=fr_FR.UTF-8   
 [7] LC_PAPER=fr_FR.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C       

time zone: Europe/Paris
tzcode source: system (glibc)

attached base packages:
 [1] tools     tcltk     stats4    splines   grid      stats     graphics 
 [8] grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_3.4.2 plyr_1.8.8    stringr_1.5.0 rvest_1.0.3  

loaded via a namespace (and not attached):
 [1] gtable_0.3.3      jsonlite_1.8.7    dplyr_1.1.2       compiler_4.3.2   
 [5] selectr_0.4-2     tidyselect_1.2.0  Rcpp_1.0.10       xml2_1.3.4       
 [9] textshaping_0.3.6 systemfonts_1.0.4 scales_1.2.1      yaml_2.3.7       
[13] fastmap_1.1.1     R6_2.5.1          labeling_0.4.2    generics_0.1.3   
[17] curl_5.0.1        knitr_1.43        tibble_3.2.1      munsell_0.5.0    
[21] pillar_1.9.0      rlang_1.1.1       utf8_1.2.3        stringi_1.7.12   
[25] xfun_0.39         cli_3.6.1         withr_2.5.0       magrittr_2.0.3   
[29] digest_0.6.33     rstudioapi_0.14   lifecycle_1.0.3   vctrs_0.6.3      
[33] evaluate_0.21     glue_1.6.2        farver_2.1.1      ragg_1.2.5       
[37] fansi_1.0.4       colorspace_2.1-0  rmarkdown_2.23    httr_1.4.6       
[41] pkgconfig_2.0.3   htmltools_0.5.5  



Diapositives libres (CC BY 4.0) :


Exemple appliqué



Téléchargez ce projet Rstudio

Merci de votre attention