La fonction rbind() dans R - L'assemblage des lignes facilité
La liaison ou la combinaison des lignes est très facile avec la fonction rbind() dans R.
rbind() signifie liaison de lignes. En termes plus simples, il s'agit de la jonction de plusieurs lignes pour former un seul lot. Cela peut inclure la jonction de deux data frames, vecteurs, et plus encore.
Cet article parlera des utilisations et des applications de la fonction rbind() en programmation R.
Sans perdre beaucoup de temps, passons directement au sujet !!!
Syntaxe de la fonction rbind()
rbind() : La fonction rbind ou « row bind » est utilisée pour lier ou combiner plusieurs groupes de lignes ensemble.
rbind(x,x1)Où :
- X = les données d'entrée.
- X1 = Les données doivent être liées.
L'idée de lier des lignes en utilisant rbind()
L'idée de lier ou de combiner les lignes de plusieurs cadres de données est très bénéfique dans la manipulation des données.
Le diagramme ci-dessous vous donnera certainement une idée du fonctionnement de la fonction rbind().
Vous pouvez voir comment les lignes de différents cadres de données seront liées/combinées par la fonction rbind().
Implémentation de la fonction rbind() dans R
Comme vous le savez, la fonction rbind() dans R est utilisée pour lier les lignes de différents groupes de données.
Dans cette section, essayons de construire des cadres de données simples et de les relier en utilisant la fonction rbind().
#creating a data frame
Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)
df1Le code ci-dessus construira un tableau de données simple présentant les détails et les noms des étudiants.
Student_class Student_details
1 High school Mark
2 College John
3 High school Fredrick
4 High school Floyd
5 College GeorgeEh bien, maintenant nous avons un dataframe de 5 lignes. Créons un autre dataframe.
#creating a dataframe
Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2 Student_class Student_details
1 High school Bracy
2 College Evin
Eh bien, maintenant nous avons 2 data frames avec un nombre de lignes différent (df1 et df2). Utilisons la fonction rbind() pour combiner les 2 data frames ci-dessus en un seul data frame.
Voyons comment ça fonctionne.
Vous ne croirez pas que tout le processus de liaison nécessitera seulement une ligne de code.
#binds rows of 2 input data frames
rbind(df1,df2) Student_class Student_details
1 High school Mark
2 College John
3 High school Fredrick
4 High school Floyd
5 College George
6 High school Bracy
7 College EvinLe cadre de données résultant sera une version liée des deux cadres de données comme montré dans la sortie ci-dessus.
Lier deux DataFrames de longueur inégale en utilisant la fonction bind()
Eh bien, dans la section précédente, nous avons combiné les deux groupes de lignes ensemble.
Dans cette section, nous allons combiner deux ensembles de données ensemble en utilisant la fonction rbind dans R.
#creates the data frame
Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)
df1 Student_class Student_details
1 High school Mark
2 College John
3 High school Fredrick
4 High school Floyd
5 College George#creats the data frame
Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2 Student_class Student_details Student_rank
1 High school Bracy A
2 College Evin A+rbind(df1,df2)Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchOh attendez, que s'est-il passé ? Pourquoi la fonction génère-t-elle une erreur ?
Si vous lisez les lignes dans l'erreur, elles indiquent que le nombre de colonnes ne correspond pas.
Nous avons 2 colonnes dans 'df1' et 3 colonnes dans 'df2'.
Ne vous inquiétez pas ! nous avons la fonction bind_rows() qui nous aidera dans ces scénarios.
La fonction bind_rows() pour lier des ensembles de données inégaux
bind_rows() est une fonction qui fait partie du paquet dplyr. Nous devons d'abord importer le paquet dplyr pour exécuter cette fonction.
Nous utilisons les mêmes cadres de données présents dans la section ci-dessus, c’est-à-dire df1 et df2. Voyons comment cela fonctionne.
#install required packages
install.packages('dplyr')
#import libraries
library(dplyr)
#bind the rows
bind_rows(df1,df2) Student_class Student_details Student_rank
1 High school Mark <NA>
2 College John <NA>
3 High school Fredrick <NA>
4 High school Floyd <NA>
5 College George <NA>
6 High school Bracy A
7 College Evin A+vous pouvez maintenant voir que la fonction bind_rows a combiné ces deux ensembles de données inégaux en termes de colonnes. Les espaces vides seront marqués comme
Lier deux ensembles de données en utilisant la fonction rbind()
Dans cette section, nous allons examiner la liaison de deux ensembles de données complets dans R.
Voyons comment ça fonctionne.
Nous allons utiliser l'ensemble de données BOD car il ne comporte que 6 lignes et vous pouvez également observer facilement les lignes limites.
#binds two data sets
rbind(BOD,BOD) Time demand
1 1 8.3
2 2 10.3
3 3 19.0
4 4 16.0
5 5 15.6
6 7 19.8
---------------
7 1 8.3
8 2 10.3
9 3 19.0
10 4 16.0
11 5 15.6
12 7 19.8Le jeu de données BOD a 6 lignes. Comme nous passons les données deux fois, la fonction rbind() liera les mêmes lignes comme indiqué ci-dessus.
Et n'oubliez pas non plus que vous avez la fonction bind_rows().
#binds two different datasets
bind_rows(BOD,women) Time demand height weight
1 1 8.3 NA NA
2 2 10.3 NA NA
3 3 19.0 NA NA
4 4 16.0 NA NA
5 5 15.6 NA NA
6 7 19.8 NA NA
7 NA NA 58 115
8 NA NA 59 117
9 NA NA 60 120
10 NA NA 61 123
11 NA NA 62 126
12 NA NA 63 129
13 NA NA 64 132
14 NA NA 65 135
15 NA NA 66 139
16 NA NA 67 142
17 NA NA 68 146
18 NA NA 69 150
19 NA NA 70 154
20 NA NA 71 159
21 NA NA 72 164Ce sont les exemples qui montrent clairement le fonctionnement et les applications des fonctions bind() et bind_rows.
J'espère que ces illustrations vous ont aidé à comprendre ces fonctions.
Liaison de plusieurs groupes de lignes dans R
Dans cette section, nous allons nous concentrer sur la liaison de plusieurs groupes de lignes (plus de 2) en utilisant la fonction rbind(). Voyons comment cela fonctionne.
#binds rows of 3 data sets
bind_rows(BOD,women,ToothGrowth) Time demand height weight len supp dose
1 1 8.3 NA NA NA <NA> NA
2 2 10.3 NA NA NA <NA> NA
3 3 19.0 NA NA NA <NA> NA
4 4 16.0 NA NA NA <NA> NA
5 5 15.6 NA NA NA <NA> NA
6 7 19.8 NA NA NA <NA> NA
7 NA NA 58 115 NA <NA> NA
8 NA NA 59 117 NA <NA> NA
9 NA NA 60 120 NA <NA> NA
10 NA NA 61 123 NA <NA> NA
11 NA NA 62 126 NA <NA> NA
12 NA NA 63 129 NA <NA> NA
13 NA NA 64 132 NA <NA> NA
14 NA NA 65 135 NA <NA> NA
15 NA NA 66 139 NA <NA> NA
16 NA NA 67 142 NA <NA> NA
17 NA NA 68 146 NA <NA> NA
18 NA NA 69 150 NA <NA> NA
19 NA NA 70 154 NA <NA> NA
20 NA NA 71 159 NA <NA> NAObservez comment les trois ensembles de données ont été liés ou combinés par la fonction bind_rows() dans R. C'est la beauté de la fonction bind_rows().
Ces 2 fonctions ont des applications infinies dans la manipulation de données en programmation R.
En conclusion
La fonction rbind() dans R et la fonction bind_rows() sont les fonctions les plus utiles en matière de manipulation de données.
Vous pouvez facilement combiner deux cadres de données ayant le même nombre de colonnes en utilisant la fonction rbind().
De la même manière, si les data frames ont un nombre de colonnes inégal, vous pouvez utiliser la fonction bind_rows() avec le package dplyr.
Eh bien, c’est tout pour le moment, Bonne reliure !!!
Lire aussi : documentation R

