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.

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *