R-funkt­siooni rbind() abil saab ühendada and­me­ko­gu­meid, millel on sama arv veerge.

Mis on rbind() funkt­sioon R-is?

R-funkt­sioon rbind() on kasulik andmete rida-rea kaupa ühen­da­miseks. Seda ka­su­ta­takse sageli uue teabe li­sa­miseks ole­mas­ole­vasse and­me­raa­mis­tikku. See on kasulik, kui te uuendate oma andmeid re­gu­laar­selt ja peate need in­teg­ree­rima ole­mas­ole­vasse and­me­ko­gu­misse.

R’s rbind() ka­su­ta­takse ka kahe sama struk­tuuriga and­me­raa­mis­tiku ühen­da­miseks, et hõl­bus­tada põh­ja­li­ku­mat analüüsi või koondada and­me­ko­gumi erinevad osad. Pange tähele, et rbind() töötab tõhusalt väik­se­mate and­me­ko­gu­mite puhul, kuid pakendid nagu dplyr pakuvad suuremate and­me­ko­gu­mite puhul paremat jõudlust.

Mis on R-i rbind() süntaks?

Võite sisestada rbind() -sse nii palju and­me­raa­mis­tikke kui soovite ja need ühendada. Veenduge lihtsalt, et kõikidel and­me­raa­mis­ti­kel on sama arv veerge ja samad vee­ru­ni­med.

rbind(data.frame1, data.frame2, ...)
R

Ar­gu­men­did data.frame1, data.frame2 jne tä­his­ta­vad and­me­raa­mis­tikke või and­me­raa­mis­tike loendeid, mis ühen­da­takse rida-rea haaval.

Näited rbind() ka­su­ta­mise kohta R-is

Allpool vaatame mõningaid näiteid R-i funkt­siooni rbind() ka­su­ta­mise kohta. Esmalt loome kahe veeruga and­me­raa­mis­tiku:

#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1
R

Väljund näeb välja järgmine:

names status
1  Deborah     nurse
2  Tom   doctor
3  Matt      nurse
4  Laura   doctor
5  Rebecca     nurse
R

Järg­misena mää­rat­leme teise and­me­raa­mis­tiku, millel on sama arv veerge:

#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2
R

Väljund:

names    status
 1  Eva            doctor 
2   John          nurse
R

Nüüd saame need kaks and­me­raa­mis­tikku omavahel ühendada:

#binding rows of df1 and df2
rbind(df1,df2)
R

Tulemus 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           nurse
R

Mis juhtub, kui and­me­raami­del on erinev arv veerge?

Allpool näitame, mis juhtub, kui proovite ühendada kahte erineva veergude arvuga and­me­raa­mis­tikku.

Esmalt loome taas kahe veeruga and­mes­tiku:

#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1
R

Väljund:

names     status
1  Deborah nurse
2  Tom         doctor
3  Matt         nurse
4  Laura        doctor
5 Rebecca nurse
R

Nüüd loome kolme veeruga and­me­raa­mis­tiku:

#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2
R

Väljund:

names    status    age
1  Eva        doctor    52
2  John      nurse      38
R

Kui kasutame rbind(), et proovida kahte and­me­raa­mis­tikku ühendada, saame järgmise veateate:

rbind(df1,df2)
Error in rbind(deparse.level, ...) :
    numbers of columns of arguments do not match
R

Viga näitab, et me ei saa kasutada R-i rbind() kahe and­me­raa­mis­tiku ühen­da­miseks, kuna neil on erinev arv veerge. Siiski saame kasutada dplr bind_rows().

Kuidas ühendada erineva veergude arvuga and­me­raa­mis­ti­kud

Eespool toodud näite and­me­raa­mid on lihtsalt ühen­da­ta­vad bind_rows()-ga.

#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)
R

Vä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       38
R

bind_rows() ühendab edukalt kaks and­me­raa­mis­tikku. Tühjad väljad on märgitud numbriga <NA>. See funkt­sioon on hea al­ter­na­tiiv R-i funkt­sioo­nile rbind(), kui on vaja ühendada and­me­raa­mis­tikke, millel on erinev arv veerge.

Tip

Soovite rohkem teada saada and­me­ko­gu­mite kuvamise ja re­di­gee­ri­mise kohta R-is? Vaadake meie õpetusi R plot ja R paste kohta.

Go to Main Menu