R data types : les principaux types de données en R

Comme dans tous les autres langages de programmation, en programmation R, il existe également différents types de données qui aident les programmateurs à structurer leurs données. Outre les types de données basiques en R (R basic data types), ce langage contient également des types de données plus complexes.

Pourquoi utiliser des R data types ?

La programmation consiste souvent à traiter des données. Pour que ces données puissent être enregistrées en mémoire de manière adéquate, les développeurs ont le choix entre plusieurs types de données dans la plupart des langages. Les types de données peuvent par exemple être des nombres ou des chaînes de caractères.

Généralement, différents opérateurs R sont définis sur divers types de données. C’est pourquoi les types de données aident également les programmateurs à traiter leurs données de manière appropriée et ainsi à augmenter l’efficacité des programmes.

Les différents R data types

En langage R, il existe un certain nombre de types de données. À moins que vous ne soyez débutant en programmation, certains types de données R devraient vous rappeler d’autres langages de programmation. Pour réaliser un contrôle du type de données en R (check data types in R), utilisez la commande R class(), qui reçoit une variable quelconque comme paramètre de transfert et retourne le type de données de cette variable.

Types de données numériques

Les types de données numériques font partie des types de données basiques en R et sont utilisés pour représenter des valeurs numériques. Les types de donnés numériques se subdivisent en plusieurs catégories : numeric pour les nombres réels, integer pour les nombres entiers et complex pour les nombres complexes ayant une partie imaginaire.

x <- 3.14
y <- 42
z <- 3 + 2i
print(class(x))
print(class(y))
print(class(z))
R

Le résultat de ce code est le suivant :

"numeric"
"numeric"
"complex"

À ce stade, vous vous demandez peut-être pourquoi le type de données numeric apparaît deux fois, bien que la valeur de la variabley soit un nombre entier ou un integer. La raison est simple : en R, les entiers sont toujours simultanément numeric. Pour informer l’interpreter qu’il s’agit en fait d’un entier, vous devez accoler le suffixeL à vos nombres entiers :

y <- 42L
print(class (y))
R

Désormais, l’appel de la fonction ci-dessus retourne le résultat attendu :

"integer"

Chaînes de caractères

Pour représenter du texte ou des caractères, vous pouvez recourir au type de données character. En langage R, vous pouvez signaler les données de ce type, mentionnées dans les chaînes de caractères R, avec des guillemets simples et doubles :

x <- "Hallo Welt!"
y <- 'Hello world!'
print(class(x))
print(class(y))
R

Ici également, la fonction « class() » peut être utilisée pour afficher le type de données de vos variables :

"character"
"character"

Types de données logiques

Les variables du type de données logiques, connu en langage R sous l’intitulé logical, sont analysées par l’interpreter comme « TRUE » ou « FALSE ». De cette manière, les conditions ou expressions logiques peuvent être formalisées. Cette fonctionnalité est souvent nécessaire pour commander le flux de contrôle du programme.

x <- TRUE
y <- FALSE
print(class(x))
print(class(y))
R

Si vous recherchez le type de données des deux variables, vous constatez que le type de données en R logical leur est assigné :

"logical"
"logical"

Données brutes

En langage R, il existe un type de données à part pour voir vos variables comme une séquence d’octets. Ce type de données en R porte le nom raw. Pour convertir vos données en données brutes, vous pouvez utiliser la fonction « charToRaw() ». Pour procéder en sens inverse, utilisez la fonction « rawToChar() ».

Le code suivant présente comment une chaîne de caractères est convertie en une suite d’octets de type raw :

x <- "Hallo Welt!"
y <- charToRaw(x)
print(y)
print(class(y))
R

Le code ci-dessus retourne ensuite à l’écran une séquence d’octets en nombres hexadécimaux. L’appel de « class() » veille ensuite à ce que le type de données de la variable y soit affiché :

48 61 6c 6c 6f 20 57 65 6c 74 21
"raw"
Note

En langage R, vous pouvez également convertir les données en un autre type de données. Un tel changement du type de données en R (change data types in r) est fréquent et même très simple : pour une chaîne de caractères composée d’un nombre (par exemple « 42 »), vous pouvez réaliser une addition simple avec 0 et ainsi faire en sorte de convertir la chaîne de caractère vers le type de données numeric.

Structures de données en R

Outre les types de données basiques en R, il existe toute une série de structures de données qui aident les programmateurs à mieux structurer leurs données. Ces structures de données sont plus complexes que les simples types de données et, contrairement aux types de données, sont souvent également multidimensionnelles, par exemple les R dataframes.