Comment utiliser cbind dans R (avec exemples)
La fonction cbind dans R, abréviation de column-bind , peut être utilisée pour combiner des vecteurs, des matrices et des trames de données par colonne.
Les exemples suivants montrent comment utiliser cette fonction dans la pratique.
Exemple 1 : Clier des vecteurs dans une matrice
Le code suivant montre comment utiliser cbind pour lier deux vecteurs en colonnes dans une seule matrice :
#create two vectors a <- c(1, 3, 3, 4, 5) b <- c(7, 7, 8, 3, 2) #cbind the two vectors into a matrix new_matrix <- cbind(a, b) #view matrix new_matrix a b [1,] 1 7 [2,] 3 7 [3,] 3 8 [4,] 4 3 [5,] 5 2 #view class of new_matrix class(new_matrix) [1] "matrix" "array"
Exemple 2 : Clier un vecteur à une trame de données
Le code suivant montre comment utiliser cbind pour lier un vecteur à une trame de données existante :
#create data frame df <- data.frame(a=c(1, 3, 3, 4, 5), b=c(7, 7, 8, 3, 2), c=c(3, 3, 6, 6, 8)) #define vector d <- c(11, 14, 16, 17, 22) #cbind vector to data frame df_new <- cbind(df, d) #view data frame df_new a b c d 1 1 7 3 11 2 3 7 3 14 3 3 8 6 16 4 4 3 6 17 5 5 2 8 22
Notez que R générera une erreur si la longueur du vecteur n’est pas la même que la longueur des colonnes du bloc de données existant.
Exemple 3 : Clier plusieurs vecteurs à une trame de données
Le code suivant montre comment utiliser cbind pour lier plusieurs vecteurs en colonnes à un bloc de données existant :
#create data frame df <- data.frame(a=c(1, 3, 3, 4, 5), b=c(7, 7, 8, 3, 2), c=c(3, 3, 6, 6, 8)) #define vectors d <- c(11, 14, 16, 17, 22) e <- c(34, 35, 36, 36, 40) #cbind vectors to data frame df_new <- cbind(df, d, e) #view data frame df_new a b c d e 1 1 7 3 11 34 2 3 7 3 14 35 3 3 8 6 16 36 4 4 3 6 17 36 5 5 2 8 22 40
Exemple 4 : Cbind deux trames de données
Le code suivant montre comment utiliser cbind pour lier deux trames de données en une seule :
#create two data frames df1 <- data.frame(a=c(1, 3, 3, 4, 5), b=c(7, 7, 8, 3, 2), c=c(3, 3, 6, 6, 8)) df2 <- data.frame(d=c(11, 14, 16, 17, 22), e=c(34, 35, 36, 36, 40)) #cbind two data frames into one data frame df_new <- cbind(df1, df2) #view data frame df_new a b c d e 1 1 7 3 11 34 2 3 7 3 14 35 3 3 8 6 16 36 4 4 3 6 17 36 5 5 2 8 22 40
Bonus : si vous souhaitez lier des vecteurs, des matrices ou des blocs de données par lignes, vous pouvez utiliser la fonction rbind à la place.