Hva er R-funksjonen rbind()?
R-funksjonen rbind() kan brukes til å kombinere datasett som har samme antall kolonner.
Hva er funksjonen til rbind() i R?
R-funksjonen rbind() er nyttig for å kombinere data linje for linje. Den brukes ofte til å legge til ny informasjon i en eksisterende dataramme. Dette er praktisk hvis du regelmessig oppdaterer dataene dine og trenger å integrere dem i et eksisterende datasett.
R’s rbind() brukes også til å kombinere to datarammer med samme struktur, enten for å muliggjøre en grundigere analyse eller for å samle ulike deler av et datasett. Merk at rbind() fungerer effektivt for mindre datasett, men pakker som dplyr gir bedre ytelse for større datasett.
Hva er syntaksen til R’s rbind()?
Du kan legge inn så mange datarammer du vil i rbind() og kombinere dem. Bare sørg for at alle datarammer har samme antall kolonner og samme kolonnenavn.
rbind(data.frame1, data.frame2, ...)RArgumentene data.frame1, data.frame2 og så videre står for datarammer eller lister over datarammer som vil bli koblet sammen linje for linje.
Eksempler på hvordan du bruker rbind() i R
Nedenfor ser vi på noen eksempler på hvordan man bruker funksjonen rbind() i R. Først oppretter vi en dataramme med to kolonner:
#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 slik ut:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRDeretter definerer vi en ny dataramme med samme antall kolonner:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RUtdata:
names status
1 Eva doctor
2 John nurseRNå kan vi kombinere de to datarammer med hverandre:
#binding rows of df1 and df2
rbind(df1,df2)RResultatet vil se slik ut:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRHva skjer hvis datarammer har forskjellig antall kolonner?
Nedenfor viser vi hva som skjer når du prøver å kombinere to datarammer som har forskjellig antall kolonner.
La oss først lage en dataramme med to kolonner:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RUtdata:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRNå skal vi opprette en dataramme med tre kolonner:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RUtdata:
names status age
1 Eva doctor 52
2 John nurse 38RNår vi bruker rbind() for å prøve å kombinere de to datarammer, får vi følgende feilmelding:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRFeilen viser at vi ikke kan bruke R’s rbind() til å kombinere de to datarammer, da de har forskjellig antall kolonner. Vi kan imidlertid bruke bind_rows() fra dplr -pakken.
Hvordan kombinere datarammer med forskjellig antall kolonner
Datarammer fra eksemplet ovenfor kan enkelt kombineres med bind_rows().
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RResultatet ser slik ut:
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() kombinerer de to datarammer på en vellykket måte. Tomme felt er merket med <NA>. Funksjonen er et godt alternativ til rbind() i R hvis du trenger å kombinere datarammer med ulikt antall kolonner.