Hvad er R's rbind()-funktion?
R-funktionen rbind() kan bruges til at kombinere datasæt, der har samme antal kolonner.
Hvad er funktionen af rbind() i R?
R-funktionen rbind() er nyttig til at kombinere data linje for linje. Den bruges ofte til at tilføje nye oplysninger til en eksisterende dataramme. Dette er praktisk, hvis du regelmæssigt opdaterer dine data og har brug for at integrere dem i et eksisterende datasæt.
R’s rbind() bruges også til at kombinere to datarammer med samme struktur, enten for at lette en mere grundig analyse eller for at samle forskellige dele af et datasæt. Bemærk, at rbind() fungerer effektivt for mindre datasæt, men pakker som dplyr tilbyder bedre ydeevne for større datasæt.
Hvad er syntaksen for R’s rbind()?
Du kan indtaste så mange datarammer, som du ønsker, i rbind() og få dem kombineret. Bare sørg for, at alle datarammer har det samme antal kolonner og de samme kolonnenavne.
rbind(data.frame1, data.frame2, ...)RArgumenterne data.frame1, data.frame2 osv. står for datarammerne eller listerne over datarammer, der vil blive sammenkædet linje for linje.
Eksempler på, hvordan man bruger rbind() i R
Nedenfor ser vi på nogle eksempler på, hvordan man bruger R’s rbind(). Først opretter 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 således ud:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRDernæst definerer vi en anden dataramme med samme antal kolonner:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2ROutput:
names status
1 Eva doctor
2 John nurseRNu kan vi kombinere de to datarammer med hinanden:
#binding rows of df1 and df2
rbind(df1,df2)RResultatet vil se således ud:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRHvad sker der, hvis datarammer har et forskelligt antal kolonner?
Nedenfor viser vi, hvad der sker, når du forsøger at kombinere to datarammer, der har et forskelligt antal kolonner.
Lad os først igen oprette 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)
df1ROutput:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRNu opretter vi 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)
df2ROutput:
names status age
1 Eva doctor 52
2 John nurse 38RNår vi bruger rbind() til at forsøge at kombinere de to datarammer, får vi følgende fejlmeddelelse:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRFejlen viser, at vi ikke kan bruge R’s rbind() til at kombinere de to datarammer, da de har forskelligt antal kolonner. Vi kan dog bruge bind_rows() fra dplr pakken.
Sådan kombineres datarammer med et forskelligt antal kolonner
Datafelterne fra ovenstående eksempel kan nemt kombineres med bind_rows().
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RResultatet ser således ud:
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 med succes. Tomme felter er markeret med <NA>. Funktionen er et godt alternativ til rbind() i R, hvis du har brug for at kombinere datarammer med forskelligt antal kolonner.