Mis on R-i funktsioon rbind()?
R-funktsiooni rbind() abil saab ühendada andmekogumeid, millel on sama arv veerge.
Mis on rbind() funktsioon R-is?
R-funktsioon rbind() on kasulik andmete rida-rea kaupa ühendamiseks. Seda kasutatakse sageli uue teabe lisamiseks olemasolevasse andmeraamistikku. See on kasulik, kui te uuendate oma andmeid regulaarselt ja peate need integreerima olemasolevasse andmekogumisse.
R’s rbind() kasutatakse ka kahe sama struktuuriga andmeraamistiku ühendamiseks, et hõlbustada põhjalikumat analüüsi või koondada andmekogumi erinevad osad. Pange tähele, et rbind() töötab tõhusalt väiksemate andmekogumite puhul, kuid pakendid nagu dplyr pakuvad suuremate andmekogumite puhul paremat jõudlust.
Mis on R-i rbind() süntaks?
Võite sisestada rbind() -sse nii palju andmeraamistikke kui soovite ja need ühendada. Veenduge lihtsalt, et kõikidel andmeraamistikel on sama arv veerge ja samad veerunimed.
rbind(data.frame1, data.frame2, ...)RArgumendid data.frame1, data.frame2 jne tähistavad andmeraamistikke või andmeraamistike loendeid, mis ühendatakse rida-rea haaval.
Näited rbind() kasutamise kohta R-is
Allpool vaatame mõningaid näiteid R-i funktsiooni rbind() kasutamise kohta. Esmalt loome kahe veeruga andmeraamistiku:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RVäljund näeb välja järgmine:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRJärgmisena määratleme teise andmeraamistiku, millel on sama arv veerge:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RVäljund:
names status
1 Eva doctor
2 John nurseRNüüd saame need kaks andmeraamistikku omavahel ühendada:
#binding rows of df1 and df2
rbind(df1,df2)RTulemus näeb välja järgmine:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRMis juhtub, kui andmeraamidel on erinev arv veerge?
Allpool näitame, mis juhtub, kui proovite ühendada kahte erineva veergude arvuga andmeraamistikku.
Esmalt loome taas kahe veeruga andmestiku:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RVäljund:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRNüüd loome kolme veeruga andmeraamistiku:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RVäljund:
names status age
1 Eva doctor 52
2 John nurse 38RKui kasutame rbind(), et proovida kahte andmeraamistikku ühendada, saame järgmise veateate:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRViga näitab, et me ei saa kasutada R-i rbind() kahe andmeraamistiku ühendamiseks, kuna neil on erinev arv veerge. Siiski saame kasutada dplr bind_rows().
Kuidas ühendada erineva veergude arvuga andmeraamistikud
Eespool toodud näite andmeraamid on lihtsalt ühendatavad bind_rows()-ga.
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RVäljund näeb välja järgmine:
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() ühendab edukalt kaks andmeraamistikku. Tühjad väljad on märgitud numbriga <NA>. See funktsioon on hea alternatiiv R-i funktsioonile rbind(), kui on vaja ühendada andmeraamistikke, millel on erinev arv veerge.