Il existe plusieurs méthodes pour créer une nouvelle colonne dans un data frame dans R. Nous allons voir dans cet article la méthode classique, puis la methode « mutate » de la librairie dplyr.
Nous allons travailler avec le data frame suivant :
data <- data.frame( v1=c(1,2,3), v2=c(5,6,7))
Ce qui donne le tableau de données suivant :
v1 | v2 |
1 | 5 |
2 | 6 |
3 | 7 |
La methode classique pour ajouter une nouvelle colonne est de créer une référence à une colonne qui n’existe pas et de lui passer le résultat d’un calcul. Par exemple, si on veut créer une nouvelle colonne qui est le ratio des 2 premieres colonnes, il s’agit de procéder ainsi :
#Exemple en accédant au vecteur de données des colonnes (recommandé)
data["v3"] <- data[["v2"]] / data[["v1"]]
#Deuxieme exemple en accédant aux données de la colonne au format data.frame
data["v4"] <- data["v2"] / data["v1"]
La librairie dplyr facilitant la manipulation de données permet de faire la même chose en passant par la fonction mutate() et en lui passant le nom du data frame et le calcul à réaliser avec les colonnes :
library(dplyr)
mutate(data, v5 = v2/v1)
A savoir : si on souhaite supprimer une colonne (au lieu d’en ajouter une), il suffit de définir les valeurs de cette colonne à NULL pour la supprimer
data["v5"] <- NULL
Pour + d’infos :