Cours
Variables
Les variables sont des identifiants, autrement dit des espaces nommés en mémoire, qui sont stockés puis peuvent être référencés et manipulés plus tard dans le programme. R est un langage interprété à typage dynamique : le contrôle de type des variables et autres objets est effectué à l’exécution. Concrètement, l’interpréteur de R n’oblige pas le programmeur à déclarer explicitement le « type de données » d’une variable avant de l’utiliser.
Règles de nommage des variables en R
- Le nom d’une variable doit commencer par une lettre et peut contenir des chiffres, des lettres, le soulignement (« _ ») et le point (« . »).
Exemple :
- variableName1, new.variable,
- Un soulignement (« _ ») en début de nom de variable n’est pas autorisé.
Exemple :
- Un point (« . ») en début de nom est autorisé, mais il ne doit pas être suivi d’un chiffre. En R, on privilégie l’usage du « . » pour séparer les mots d’un identifiant.
- « _my_var » n’est pas un nom de variable valide.
Exemple :
- Les mots réservés (mots-clés) ne peuvent pas être utilisés comme noms de variables.
- Les caractères spéciaux tels que « # », « & », etc., ainsi que les espaces (tabulations, espaces) sont interdits dans un nom de variable.
- « .myvar » est un nom valide. En revanche, « .1myvar » n’est pas valide car un point suivi d’un chiffre n’est pas autorisé.
Affectation de variables
En R, on peut affecter une valeur à une variable de trois manières.
-
Opérateur d’affectation : « = » affecte une valeur. L’exemple suivant affecte la valeur 20 à la variable « first.variable ». Exemple :
first.variable = 20 -
Opérateur « <- » : l’exemple suivant affecte la chaîne de caractères New Program à « second.variable ».
Exemple :second.variable <- "New Program" - Opérateur « -> » : l’exemple suivant affecte l’entier 565 à « third.variable ».
Exemple :565 -> third.variable
Type de variable
Le type d’une variable en R peut être déterminé avec class(), typeof() et mode().
-
class() : retourne le type de haut niveau d’un objet, au sens de la programmation orientée objet en R. Selon qu’il s’agit d’un vecteur ou d’une autre structure de données, la valeur retournée diffère.
- Si l’objet est un vecteur, l’un des types suivants est renvoyé :
- integer
- numeric
- character
- logical
my.var1 = 8L
Renvoie : « integer »my.var2 = 8.5
Renvoie : « numeric »
- En revanche, pour des objets comme matrix(), data.frame(), list() ou array(), le type correspondant est renvoyé. Par exemple, une liste renverra « list » ci-dessous.
my.var3 = list(6,9,5)
Renvoie : « list »
- Si l’objet est un vecteur, l’un des types suivants est renvoyé :
- typeof() : renvoie des types de bas niveau, qui correspondent au type interne de l’objet en R. Cette fonction est surtout utilisée par les programmeurs R pour déterminer le type interne d’un objet.
Par exemple, quelques types internes en R sont illustrés ci‑dessous :typeof(8+6i)
Renvoie : complextypeof(factor(c(4,5,6)))
Renvoie : integer
Vous pouvez explorer les types internes d’objet avec typeof() pour découvrir les différents types internes.
3. mode() : renvoie des valeurs proches de celles de typeof(). Cependant, il existe des différences entre typeof() et mode() pour les types suivants.
- le type « symbol » dans typeof() correspond à « name » dans mode() Par exemple :
typeof(as.name('foo'))
- Renvoie « symbol » alors que
mode(as.name('foo'))
- Renvoie « name ».
- le type « language » dans typeof() est renvoyé comme « ( » ou « call » par mode() Par exemple :
typeof(y~x)
- Renvoie « language » alors que
mode(45L)
- Renvoie « call ».
- les types « integer » et « double » dans typeof() sont renvoyés comme « numeric » par mode() Par exemple :
typeof(45L)
- Renvoie « integer » alors que
mode(45L)
- Renvoie « numeric ».
- les types « special » et « builtin » dans typeof() sont renvoyés comme « function » par mode() Par exemple :
typeof(return)
- Renvoie « special » alors que
mode(45L)
- Renvoie « function ».
Suppression d’une variable
Une variable en R peut être facilement supprimée avec rm().
Par exemple, le code ci‑dessous affiche 8.
my.var = 8
cat(my.var)
La variable est supprimée avec rm(my.var).
rm(my.var)
Vous pouvez vérifier si la variable a bien été supprimée en utilisant cat(my.var).
cat(my.var)
Le code ci‑dessus produira l’erreur suivante :
Error in cat(my.var): object 'my.var' not found
Félicitations
Félicitations, vous êtes arrivé·e au bout de ce tutoriel !
Dans ce tutoriel, vous avez vu les variables en R, les règles de définition, les différentes façons d’affecter une variable, les méthodes pour vérifier le type des variables et la manière de les supprimer.
Pour aller plus loin avec R, suivez le cours Introduction to R de DataCamp.
Découvrez aussi notre tutoriel sur l’analyse en composantes principales (ACP) avec R.