Les objets et variables en R

@joekakone

Joseph Konka @joekakone

03/03/2026 · 6 min

Comprenez le système de typage dynamique de R : affectation avec l'opérateur flèche, types atomiques fondamentaux, gestion des valeurs spéciales (NA, NULL) et manipulation de la mémoire.

En R, tout ce qui stocke de l'information est un objet. Les variables n'ont pas besoin d'être typées explicitement lors de leur création : R est un langage à typage dynamique. Le type d'une variable est automatiquement déduit de la valeur qui lui est affectée.


1. L'affectation en R : L'opérateur flèche <-#

Pour stocker une valeur dans une variable, la convention idiomatique de la communauté R est d'utiliser l'opérateur flèche gauche <- (composé du symbole inférieur < suivi d'un tiret -) :

# Affectation recommandée en R
score <- 95
nom <- "Alice"

# L'égalité simple fonctionne également mais est moins idiomatique
taux = 0.05

# R autorise aussi l'affectation vers la droite (rarement utilisée)
150 -> total

[!TIP] Raccourci clavier RStudio :
Appuyez sur Alt + - (Windows/Linux) ou Option + - (macOS) pour insérer automatiquement l'opérateur <- avec ses espaces !


2. Les types de données atomiques fondamentaux#

Tout objet de base en R appartient à l'une des familles atomiques suivantes :

Type R Description Exemples Vérification Conversion
Numeric (Double) Nombres réels à virgule flottante (par défaut) 3.14, -12.5, 42 is.numeric() as.numeric()
Integer Nombres entiers stricts (suffixés par L) 42L, 100L is.integer() as.integer()
Character Chaînes de texte entre guillemets "AlgoJungle", 'Paris' is.character() as.character()
Logical Booléens (vrai ou faux) TRUE, FALSE is.logical() as.logical()
Complex Nombres complexes avec partie imaginaire 2 + 3i is.complex() as.complex()

Démonstration en code :#

# 1. Numérique décimal
x <- 42.5
class(x)   # [1] "numeric"
typeof(x)  # [1] "double"

# 2. Entier strict
n <- 42L
is.integer(n) # [1] TRUE

# 3. Chaîne de caractères
langage <- "Langage R"
nchar(langage) # Longueur : [1] 9

# 4. Booléen (en majuscules obligatoires)
actif <- TRUE
!actif # Négation : [1] FALSE

3. Les valeurs spéciales : NA, NaN, Inf et NULL#

L'analyse de données réelles est souvent confrontée à des anomalies ou des données manquantes. R possède un ensemble de valeurs spéciales très précises pour les modéliser :

  • NA (Not Available) : Représente une donnée manquante. Toute opération arithmétique avec NA renvoie NA (10 + NA donne NA). Pour tester la présence de valeurs manquantes, utilisez impérativement is.na(x) et jamais x == NA.
  • NaN (Not a Number) : Résultat d'un calcul mathématique indéfini, comme \(0 / 0\) ou \(\sqrt{-1}\).
  • Inf et -Inf : L'infini positif ou négatif, obtenu par exemple en divisant un nombre non nul par zéro (1 / 0).
  • NULL : L'objet vide, représentant l'absence totale de valeur ou d'élément.
valeur_manquante <- NA
is.na(valeur_manquante) # [1] TRUE

calcul_impossible <- 0 / 0
print(calcul_impossible) # [1] NaN

division_par_zero <- 10 / 0
print(division_par_zero) # [1] Inf

4. Gérer son environnement de travail en mémoire#

Lorsque vous créez des variables, celles-ci sont stockées dans l'environnement global de votre session R.

# Lister toutes les variables actuellement en mémoire
ls()
# ou
objects()

# Supprimer une variable spécifique de la mémoire
rm(score)

# Supprimer TOUTES les variables en mémoire (remise à zéro de la session)
rm(list = ls())

Mise en pratique#

  1. Déclarez une variable prenom contenant votre prénom, et une variable annee_naissance contenant votre année de naissance sous forme d'entier (L).
  2. Calculez votre âge approximatif en soustrayant annee_naissance à l'année courante et stockez le résultat dans mon_age.
  3. Vérifiez le type de mon_age à l'aide de la fonction class().
  4. Testez ce qui se produit si vous additionnez mon_age + NA.

Commentaires

Inscrivez-vous à une formation complète

Voir le catalogue