Kaj je funkcija rbind() v R?
Funkcija R rbind() se lahko uporabi za združevanje podatkovnih nizov, ki imajo enako število stolpcev.
Kakšna je funkcija rbind() v R?
Funkcija R rbind() je uporabna za združevanje podatkov po vrsticah. Pogosto se uporablja za dodajanje novih informacij v obstoječi podatkovni okvir. To je koristno, če redno posodabljate svoje podatke in jih morate vključiti v obstoječi niz podatkov.
R’s rbind() se uporablja tudi za združevanje dveh podatkovnih okvirov z enako strukturo, bodisi za lažjo analizo bodisi za združevanje različnih delov podatkovnega niza. Upoštevajte, da rbind() deluje učinkovito za manjše podatkovne nize, vendar paketi, kot je dplyr, ponujajo boljšo zmogljivost za večje podatkovne nize.
Kakšna je sintaksa R-jevega rbind()?
V rbind() lahko vnesete toliko podatkovnih okvirjev, kolikor želite, in jih združite. Prepričajte se, da imajo vsi podatkovni okvirji enako število stolpcev in enaka imena stolpcev.
rbind(data.frame1, data.frame2, ...)RArgumenti data.frame1, data.frame2 in tako naprej predstavljajo podatkovne okvire ali sezname podatkovnih okvirov, ki bodo povezani vrstica za vrstico.
Primeri uporabe rbind() v R
V nadaljevanju si bomo ogledali nekaj primerov uporabe funkcije rbind() v R-ju. Najprej bomo ustvarili podatkovni okvir z dvema stolpcema:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RIzhod je naslednji:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRNato bomo definirali drugi podatkovni okvir z enakim številom stolpcev:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RIzhod:
names status
1 Eva doctor
2 John nurseRSedaj lahko združimo oba podatkovna okvira:
#binding rows of df1 and df2
rbind(df1,df2)RRezultat bo izgledal takole:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRKaj se zgodi, če imajo podatkovni okvirji različno število stolpcev?
Spodaj bomo pokazali, kaj se zgodi, ko poskušate združiti dva podatkovna okvira, ki imata različno število stolpcev.
Najprej ponovno ustvarimo podatkovni okvir z dvema stolpcema:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RIzhod:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRSedaj bomo ustvarili podatkovni okvir s tremi stolpci:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RIzhod:
names status age
1 Eva doctor 52
2 John nurse 38RKo poskušamo združiti oba podatkovna okvira z uporabo rbind(), se prikaže naslednje sporočilo o napaki:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRNapaka kaže, da ne moremo uporabiti R-ja rbind() za združitev dveh podatkovnih okvirov, saj imata različno število stolpcev. Vendar pa lahko uporabimo bind_rows() iz paketa dplr.
Kako združiti podatkovne okvire z različnim številom stolpcev
Podatkovni okviri iz zgornjega primera se lahko enostavno združijo s bind_rows().
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RIzhod je naslednji:
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() uspešno združi oba podatkovna okvira. Prazna polja so označena s <NA>. Funkcija je dobra alternativa rbind() v R, če morate združiti podatkovne okvire z različnim številom stolpcev.