IDE RStudio, rappels de R
Alt+Maj+K sous Windows).Options à configurer recommandées
En R, tout est objet.
Un objet est l’association d’un nom et d’une valeur. Techniquement, on associe une valeur à un nom.
Plusieurs opérateurs pour affecter une valeur :
Contrainte sur les noms : ils ne peuvent commencer par un _ ou un chiffre.
Il existe 6 types primitifs en R
character, integer, numeric, logical,
ainsi que deux types plus rares, raw et complex.
Fonctions de coercition de type (type coercion) : as.*
Fonctions d’assertion de type : is.*
Les vecteurs sont omniprésents en R. Il en existe deux types :
logical, integer, numeric, characterlistPour créer un vecteur de type atomique :
Certains attributs de vecteurs sont très communs et très importants :
dimnamesclassFacteur (factor) :
Facteur ordonné (ordered) :
Mais aussi Date, POSIXct, POSIXlt, data.frame, matrix, array …
Objets S3
Nous détaillerons la notion d’objets S3 lors du troisième cours
Fonction str() décrit l’objet, la fonction dput() renvoie le code pour le recréer.
$premier
[1] 3 6
$deuxieme
[1] "beurre" "sucre"
[[, [, et $.L’opérateur [ permet de sélectionner plusieurs éléments d’un vecteur.
L’opérateur [ permet de sélectionner plusieurs éléments d’un vecteur.
Pour des listes :
[ renvoie toujours une liste[[ renvoie un élément de la liste$ renvoie un élément de la liste si la liste est nommée

Illustration by Hadley Wickham in Advanced R


Illustration by Hadley Wickham in Advanced R
if, else, else if, ifelse, switchfor, while, repeatnext, breakMots réservés
Tous les noms ci-dessus sont des noms réservés par R et ne peuvent pas être utilisés pour nommer un objet, tout comme function, NA, Inf, etc. Voir ?reserved.
Programmation fonctionnelle
Nous verrons lors du troisième cours l’introduction des fonctions *apply ou map_* qui sont complémentaires aux boucles for.
Une condition s’exprime par un vecteur logique de taille 1.
Une boucle itère sur chaque valeur d’un vecteur.
while, repeat, next, breakwhile, repeat, next, breakTips
break stoppe la boucle ; next passe à l’itération suivante
Les fonctions permettent d’automatiser et de mutualiser des tâches courantes.
Fonctions, fonctions génériques
Nous détaillerons le fonctionnement et les bonnes pratiques d’écriture des fonctions lors du troisième cours.
Pour charger une librairie externe, nous utilisons la fonction library()
Package
Nous détaillerons comment construire un package lors du quatrième cours.
Attention
Attention, tous les packages ne sont pas de qualité égale. Certains peuvent même être potentiellement dangereux et corrompus. Il faut apprendre à détecter des librairies peu fiables.
L’enfer des dépendances
Les librairies externes facilitent et accélèrent grandement les études, mais créent aussi des vulnérabilités et des dépendances.
Info
Nous nous intéresserons à la gestion propre des dépendances lors du 5ème cours.
La fonction la plus importante de R : ?
Voir aussi rdocumentation.org
Si vous rencontrez un problème, il existe avec une très grande probabilité quelqu’un l’ayant déjà rencontré et ayant posté un message sur Internet. Et il est probable que la solution existe aussi !
Il est normal de faire des erreurs
Toujours prendre le temps de lire le message d’erreur, faire une recherche google associée… Un bug arrive rarement et les erreurs sont souvent stupides : typo, mauvais nom de variable, etc.
Guide de style de référence : https://style.tidyverse.org/index.html
Contrôlez la qualité de votre code en utilisant un linter, par exemple, lintr

Contrôlez la qualité de votre code en utilisant un linter, par exemple, lintr
lintr
S’intègre bien avec RStudio, il exite un addin. Le linter est aussi un outil utile pour la vérification automatique de code, notamment dans un processus d’intégration continue. Plus là dessus dans le cours n°2.
Corrigez automatiquement certaines erreurs de style, avec la librarie styler
Corrigez automatiquement certaines erreurs de style, avec la librarie styler
styler
Complémentaire du linter. Aussi en addin dans RStudio.
On peut également utiliser des styler externes comme air.
R avancé et introduction à Git | IDE RStudio, rappels de R