Vad är funktionen rbind() i R?
R-funktionen rbind() kan användas för att kombinera datamängder som har samma antal kolumner.
Vad är funktionen av rbind() i R?
R-funktionen rbind() är användbar för att kombinera data rad för rad. Den används ofta för att lägga till ny information till en befintlig dataram. Detta är praktiskt om du regelbundet uppdaterar dina data och behöver integrera dem i en befintlig datamängd.
R:s rbind() används också för att kombinera två dataramar med samma struktur, antingen för att underlätta en mer grundlig analys eller för att sammanföra olika delar av en datamängd. Observera att rbind() fungerar effektivt för mindre datamängder, men paket som dplyr erbjuder bättre prestanda för större datamängder.
Vad är syntaxen för R:s rbind()?
Du kan ange så många dataramar du vill i rbind() och kombinera dem. Se bara till att alla dataramar har samma antal kolumner och samma kolumnnamn.
rbind(data.frame1, data.frame2, ...)RArgumenten data.frame1, data.frame2 och så vidare står för dataramarna eller listorna med dataramar som kommer att länkas rad för rad.
Exempel på hur man använder rbind() i R
Nedan tittar vi på några exempel på hur man använder funktionen rbind() i R. Först skapar vi en dataram med två kolumner:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RResultatet ser ut som följer:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRDärefter definierar vi en andra dataram med samma antal kolumner:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RUtgång:
names status
1 Eva doctor
2 John nurseRNu kan vi kombinera de två dataramarna med varandra:
#binding rows of df1 and df2
rbind(df1,df2)RResultatet kommer att se ut så här:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRVad händer om dataramarna har olika antal kolumner?
Nedan visar vi vad som händer när du försöker kombinera två dataramar som har olika antal kolumner.
Låt oss först skapa en dataram med två kolumner:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RUtgång:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRNu skapar vi en dataram med tre kolumner:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RUtgång:
names status age
1 Eva doctor 52
2 John nurse 38RNär vi använder rbind() för att försöka kombinera de två dataramarna får vi följande felmeddelande:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRFelet visar att vi inte kan använda R:s rbind() för att kombinera de två dataramarna, eftersom de har olika antal kolumner. Vi kan dock använda bind_rows() från paketet dplr.
Hur man kombinerar dataramar med olika antal kolumner
Dataramarna från exemplet ovan kan enkelt kombineras med bind_rows().
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RResultatet ser ut som följer:
names status age
1 Deborah nurse <NA>
2 Tom doctor <NA>
3 Matt nurse <NA>
4 Laura doctor <NA>
5 Rebecca nurse <NA>
6 Eva doctor 52
7 John nurse 38Rbind_rows() kombinerar de två dataramarna på ett framgångsrikt sätt. Tomma fält markeras med <NA>. Funktionen är ett bra alternativ till rbind() i R om du behöver kombinera dataramar med olika antal kolumner.

