De rbind() functie in R – Eenvoudig rijen samenvoegen

Het binden of combineren van rijen is zeer eenvoudig met de rbind() functie in R.

rbind() staat voor rijbinding. In eenvoudige bewoordingen is dit het samenvoegen van meerdere rijen tot één batch. Het kan het samenvoegen van twee dataframes, vectoren en meer omvatten.

Deze artikel zal ingaan op de toepassingen en toepassingen van de rbind() functie in R-programmeren.

Zonder veel tijd te verspillen, laten we ons storten op het onderwerp!!!


Syntaxis van de rbind() functie

rbind(): De rbind- of rij-bindfunctie wordt gebruikt om de verschillende groepen rijen aan elkaar te binden of te combineren.

rbind(x,x1)

Waar:

  • X = the input data.
  • X1 = De gegevens die moeten worden gebonden.

Het idee van het binden van rijen met rbind()

Het idee van het binden of combineren van de rijen van meerdere dataframes is zeer nuttig bij gegevensmanipulatie.

Op het onderstaande diagram krijg je zeker een idee van hoe de rbind() functie werkt.

Je kunt zien hoe rijen van verschillende dataframes worden gebonden/gecombineerd door de rbind() functie.


Implementatie van de rbind() functie in R

Zoals je weet, wordt de rbind() functie in R gebruikt om de rijen van verschillende groepen gegevens aan elkaar te binden.

In dit gedeelte gaan we proberen een eenvoudig gegevensframe te construeren en ze samen te binden met behulp van de rbind() functie.

#het creëren van een gegevensframe 

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

De bovenstaande code zal een eenvoudig gegevensframe construeren met studentgegevens en namen.

   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George

Nou, nu hebben we een gegevensframe van 5 rijen. Laten we een ander gegevensframe maken.

#het creëren van een gegevensframe

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

Nou, nu hebben we 2 gegevensframes met verschillende rij-aantallen (df1 en df2). Laten we de rbind() functie gebruiken om de bovenstaande 2 gegevensframes tot een enkel gegevensframe samen te binden.

Laten we eens kijken hoe het werkt.

Je zult niet geloven dat het hele bindingproces slechts één regel code vereist.

#bindt rijen van 2 invoergegevensframes

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            Evin

Het resulterende gegevensframe zal een samengebonden versie zijn van beide gegevensframes, zoals getoond in de bovenstaande uitvoer.


Twee gegevensframes van ongelijke lengte samenvoegen met behulp van de bind() functie

Nou, in het vorige gedeelte hebben we de twee rijgroepen samengevoegd.

In dit gedeelte gaan we twee datasets samenvoegen met behulp van de rbind-functie in R.

#creëert het gegevensframe

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
#creëert het gegevensframe

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 match

Oh wacht, wat is er gebeurd? Waarom geeft de functie een foutmelding?

Als je de regels in de foutmelding leest, staat er dat het aantal kolommen niet overeenkomt.

We hebben 2 kolommen in ‘df1’ en 3 kolommen in ‘df2’.

Geen zorgen! We hebben de bind_rows() functie die ons zal helpen in deze situaties.


De bind_rows() functie om ongelijkmatige datasets te binden

bind_rows() is een functie die deel uitmaakt van het dplyr-pakket. We moeten eerst het dplyr-pakket importeren om deze functie uit te voeren.

We gebruiken dezelfde gegevensframes die in de bovenstaande sectie aanwezig zijn, namelijk df1 en df2. Laten we kijken hoe het werkt.

#installeer vereiste pakketten
install.packages('dplyr')
#importeer bibliotheken
library(dplyr)
#rijen binden
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+

Je kunt nu zien dat de bind_rows-functie deze twee ongelijke datasets heeft gecombineerd qua kolommen. De lege ruimtes zullen worden gemarkeerd als <NA>.


Het binden van twee datasets met behulp van de rbind() functie

In deze sectie zullen we kijken naar het binden van twee volledige datasets in R.

Laten we kijken hoe het werkt.

We gaan de BOD-dataset gebruiken, omdat deze slechts 6 rijen heeft en je gemakkelijk de gebonden rijen kunt waarnemen.

#bindt twee datasets
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.8

De BOD-dataset heeft 6 rijen. Omdat we de gegevens tweemaal doorgeven, zal de rbind() functie dezelfde rijen binden zoals hierboven getoond.

En vergeet ook niet dat je de bind_rows() functie hebt.

#bindt twee verschillende 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    164

Dit zijn voorbeelden die duidelijk laten zien hoe de bind() en bind_rows-functies werken en worden toegepast.

I hope these illustrations helped you in understanding these functions.


Binden van meerdere rijgroepen in R

In dit gedeelte zullen we ons richten op het samenvoegen van meerdere (meer dan 2) rijgroepen met behulp van de functie rbind(). Laten we eens kijken hoe het werkt.

#bindt rijen van 3 datasets
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>   NA

Let op hoe alle drie de datasets werden samengevoegd door de bind_rows() functie in R. Dit is de kracht van de bind_rows() functie.

Deze 2 functies hebben eindeloze toepassingen in gegevensmanipulatie in R-programmering.


Samenvattend

De rbind() functie in R en de bind_rows() functie zijn de meest bruikbare functies als het gaat om gegevensmanipulatie.

U kunt eenvoudig twee gegevensframes met hetzelfde aantal kolommen binden met de rbind() functie.

Op dezelfde manier, als de gegevensframes een ongelijk aantal kolommen hebben, kunt u de bind_rows() functie gebruiken samen met het dplyr-pakket.

Nou, dat is alles voor nu, Veel bindplezier!!!

Meer lezen: R-documentatie

Source:
https://www.digitalocean.com/community/tutorials/rbind-function-r