Mikä on R:n rbind()-funktio?
R-funktiota rbind() voidaan käyttää yhdistämään tietojoukkoja, joilla on sama määrä sarakkeita.
Mikä on rbind():n tehtävä R:ssä?
R-funktio rbind() on hyödyllinen tietojen yhdistämisessä rivi riviltä. Sitä käytetään usein uusien tietojen lisäämiseen olemassa olevaan tietorakenteeseen. Tämä on kätevää, jos päivität tietojasi säännöllisesti ja haluat integroida ne olemassa olevaan tietojoukkoon.
R:n rbind() käytetään myös kahden samanrakenteisen data-kehyksen yhdistämiseen, joko perusteellisemman analyysin helpottamiseksi tai data-joukon eri osien yhdistämiseksi. Huomaa, että rbind() toimii tehokkaasti pienemmille data-joukoille, mutta paketit kuten dplyr tarjoavat paremman suorituskyvyn suuremmille data-joukoille.
Mikä on R:n rbind()n syntaksi?
Voit syöttää rbind():een niin monta data-kehystä kuin haluat ja yhdistää ne. Varmista vain, että kaikilla data-kehyksillä on sama määrä sarakkeita ja samat sarakkeiden nimet.
rbind(data.frame1, data.frame2, ...)RArgumentit data.frame1, data.frame2 ja niin edelleen edustavat datakehyksiä tai datakehysten luetteloita, jotka linkitetään rivi riviltä.
Esimerkkejä rbind() käytöstä R:ssä
Seuraavassa tarkastellaan muutamia esimerkkejä R:n rbind() käytöstä. Ensin luodaan kahden sarakkeen data frame:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RTulostus näyttää seuraavalta:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRSeuraavaksi määritellään toinen dataframe, jossa on sama määrä sarakkeita:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RTulos:
names status
1 Eva doctor
2 John nurseRNyt voimme yhdistää nämä kaksi data-kehystä toisiinsa:
#binding rows of df1 and df2
rbind(df1,df2)RTuloksena on seuraava:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRMitä tapahtuu, jos tietokehyksissä on eri määrä sarakkeita?
Alla näytämme, mitä tapahtuu, kun yrität yhdistää kaksi data-kehystä, joissa on eri määrä sarakkeita.
Luodaan ensin jälleen kerran kahden sarakkeen data-kehys:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RTulos:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRNyt luomme kolmen sarakkeen data-kehyksen:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RTulos:
names status age
1 Eva doctor 52
2 John nurse 38RKun yritämme yhdistää kaksi data-kehystä rbind(), saamme seuraavan virheilmoituksen:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRVirhe osoittaa, että emme voi käyttää R:n rbind() yhdistämään kahta data-kehystä, koska niissä on eri määrä sarakkeita. Voimme kuitenkin käyttää dplr paketin bind_rows().
Kuinka yhdistää data-kehykset, joissa on eri määrä sarakkeita
Yllä olevan esimerkin tietokehykset voidaan helposti yhdistää bind_rows() kanssa.
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RTulostus näyttää seuraavalta:
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() yhdistää onnistuneesti kaksi data-kehystä. Tyhjät kentät on merkitty <NA>. Tämä toiminto on hyvä vaihtoehto rbind() R:ssä, jos haluat yhdistää data-kehyksiä, joissa on eri määrä sarakkeita.
Haluatko oppia lisää tietojoukkojen näyttämisestä ja muokkaamisesta R:ssä? Tutustu R-kuvaaja- ja R-liitä-oppaaseemme.