Comme dans tous les autres langages de pro­gram­ma­tion, en pro­gram­ma­tion R, il existe également dif­fé­rents types de données qui aident les pro­gram­ma­teurs à struc­tu­rer 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 pro­gram­ma­tion consiste souvent à traiter des données. Pour que ces données puissent être en­re­gis­trées en mémoire de manière adéquate, les dé­ve­lop­peurs 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 ca­rac­tères.

Gé­né­ra­le­ment, dif­fé­rents opé­ra­teurs R sont définis sur divers types de données. C’est pourquoi les types de données aident également les pro­gram­ma­teurs à traiter leurs données de manière ap­pro­priée et ainsi à augmenter l’ef­fi­ca­cité des pro­grammes.

Les dif­fé­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 pro­gram­ma­tion, certains types de données R devraient vous rappeler d’autres langages de pro­gram­ma­tion. 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 quel­conque comme paramètre de transfert et retourne le type de données de cette variable.

Types de données nu­mé­riques

Les types de données nu­mé­riques font partie des types de données basiques en R et sont utilisés pour re­pré­sen­ter des valeurs nu­mé­riques. Les types de donnés nu­mé­riques se sub­di­vi­sent en plusieurs ca­té­go­ries : numeric pour les nombres réels, integer pour les nombres entiers et complex pour les nombres complexes ayant une partie ima­gi­naire.

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 si­mul­ta­né­ment numeric. Pour informer l’in­ter­pre­ter 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 ca­rac­tères

Pour re­pré­sen­ter du texte ou des ca­rac­tères, vous pouvez recourir au type de données character. En langage R, vous pouvez signaler les données de ce type, men­tion­nées dans les chaînes de ca­rac­tères R, avec des guil­le­mets 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’in­ter­pre­ter comme « TRUE » ou « FALSE ». De cette manière, les con­di­tions ou ex­pres­sions logiques peuvent être for­ma­li­sées. Cette fonc­tion­na­lité est souvent né­ces­saire pour commander le flux de contrôle du programme.

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

Si vous re­cher­chez 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 ca­rac­tè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 hexa­dé­ci­maux. 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 chan­ge­ment 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 ca­rac­tè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.

Struc­tures de données en R

Outre les types de données basiques en R, il existe toute une série de struc­tures de données qui aident les pro­gram­ma­teurs à mieux struc­tu­rer leurs données. Ces struc­tures de données sont plus complexes que les simples types de données et, con­trai­re­ment aux types de données, sont souvent également mul­ti­di­men­sion­nelles, par exemple les R da­ta­frames.

Aller au menu principal