Les vecteurs avec R

Opérations sur vecteurs avec R

L’un des objets de R les plus couramment utilisés est le vecteur. Par ici la découverte…

La lecture de cette page suppose une connaissance rudimentaire de R et si possible de RStudio.

 

Création

Pour R, un vecteur est une liste d’éléments de même nature : variable numérique, chaînes de caractères, etc. Il peut aussi être un vecteur… de vecteurs.

On le définit avec c() pour concaténation.

Exemple : on mesure la taille de six nouveau-nés en cm. Dans la quasi-totalité des situations les données sont importées mais Ici les valeurs sont saisies, séparées par des virgules :

taillecm <- c(35.5, 37, 40.5, 42.5, 44, 44)

Avec RStudio, et à condition que le nom du vecteur soit valide (ce qui est le cas ici !), un clic sur Run et son contenu s’affiche dans la console.

Il peut être utile de créer un vecteur par répétition avec la fonction rep(). À titre d’exemple, le vecteur vec_5 contient cinq fois le nombre 4 :

vec_5 <- rep(4,5)

Il existe de nombreuses autres possibilités de création d’un vecteur avec la répétition. Nous en verrons une autre un peu plus loin.

 

Opérations et fonctions

Il est facile de multiplier un vecteur par un même nombre (tout comme vous avez appris en cours de maths à multiplier un vecteur par un scalaire). Par exemple, nous souhaitons convertir les tailles des nouveau-nés en pouces :

taillepo <- taillecm * 0.393701
taillepo

Résultat avec RStudio :

[1] 13.97639 14.56694 15.94489 16.73229 17.32284 17.32284

Un graphique obtenu avec R de base (et non avec un package incluant des options graphiques) :

nuage de points

Il est particulièrement facile de déterminer la moyenne :

moyenne <- mean(taillecm)
moyenne

Affichage :

[1] 40.58333

Notez que grâce à cette fonction, on peut s’assurer que le vecteur traduit bien une variable numérique !

La somme de vecteurs est elle aussi d’une simplicité enfantine. Quittons provisoirement notre exemple.

vec_1 <- c(10,20, 30)
vec_2 <- c(2, 2, 3)
vec_3 <- vec_1 + vec_2
vec_3

Affichage : [1] 12 22 33

Si un vecteur doit contenir des chaînes de caractères, celles-ci sont écrites entre guillemets (ou entre guillemets simples).

noms <- c('Kim', 'Lou', 'Max', 'Ben', 'Vic', 'Luc')

Associons à présent les vecteurs noms et taillecm.

names(taillecm) <- noms

Combien mesuraient Ben et Vic à la naissance ?

tailles

Même réponse si l’on emploie les indices (rappelons que R commence à compter à partir de 1) :

ben_vic <- taillecm[c(4, 5)]

nouveau-né

Pour savoir qui sont les trois plus grands bébés, on sépare les bornes de l’intervalle avec deux points :

plusgrands <- taillecm[c(4:6)]

À titre d’exercice, anonymisons les nouveau-nés en les renommant BB_1, BB_2

Nous devons créer un vecteur comme nous l’avons vu plus haut, avec la fonction rep(). La concaténation pour nommer les éléments est réalisée avec paste (ne pas confondre avec la concaténation de vecteurs !). Nous répétons six fois BB auquel nous ajoutons un tiret du bas (sep signifie séparateur) puis une séquence d’entiers de 1 à 6.

noms <- paste(rep("BB",6), sep = '_',seq(1:6))
noms

Affichage :

[1] "BB_1" "BB_2" "BB_3" "BB_4" "BB_5" "BB_6"

Un exemple de programme de niveau débutant qui s’appuie sur les vecteurs se trouve en page de contributions à la variance.

 

Nombre d’éléments

Pour connaître la longueur d’un vecteur, employez la fonction length() :

length(taillecm)

Affichage : [1] 6

Pour ajouter un ou plusieurs éléments à un vecteur :

noms <- paste(rep("BB",6), sep = '_',seq(1:6))
noms <- c(noms, "BB_7")
noms

BB_7 s’est intégré au vecteur. De la même façon, on peut ajouter plusieurs éléments séparément ou un vecteur déjà défini.

Pour retirer des éléments, on précise entre crochets qu'ils sont différents d'une valeur donnée. La quatrième ligne de l’exemple ci-dessous efface Lou du vecteur (nous aurions aussi pu créer un autre vecteur).

sans Lou

Attention, nous avons lié les prénoms avec les tailles. Lorsqu’on souhaite afficher le vecteur des tailles, Lou y figure encore.

 

Les facteurs

Il existe un type de vecteur particulier qui conserve en mémoire les modalités d’une variable qualitative. Pour faire plus ample connaissance, bifurquez sur la page consacrée aux facteurs.

 

bébé