Kas ir R funkcija rbind()?
R funkciju rbind() var izmantot, lai apvienotu datu kopas, kurām ir vienāds kolonnu skaits.
Kāda ir funkcija rbind() programmā R?
R funkcija rbind() ir noderīga, lai apvienotu datus rindu pa rindai. To bieži izmanto, lai pievienotu jaunu informāciju esošajam datu rāmim. Tas ir ērti, ja regulāri atjaunināt datus un nepieciešams tos integrēt esošajā datu kopā.
R’s rbind() tiek izmantots arī, lai apvienotu divus datu rāmjus ar vienādu struktūru, vai nu lai atvieglotu padziļinātu analīzi, vai arī lai apvienotu dažādas datu kopas daļas. Jāņem vērā, ka rbind() efektīvi darbojas ar mazākiem datu kopumiem, bet tādi pakotnes kā dplyr nodrošina labāku veiktspēju lielākiem datu kopumiem.
Kāda ir R valodas rbind() sintakse?
Jūs varat ievadīt tik daudz datu rāmju, cik vēlaties, programmā rbind() un apvienot tos. Vienkārši pārliecinieties, ka visiem datu rāmjiem ir vienāds kolonnu skaits un vienādi kolonnu nosaukumi.
rbind(data.frame1, data.frame2, ...)RArgumenti data.frame1, data.frame2 utt. apzīmē datu rāmjus vai datu rāmju sarakstus, kas tiks saistīti rindu pa rindai.
Piemēri, kā lietot rbind() R
Tālāk apskatīsim dažus piemērus, kā izmantot R funkciju rbind(). Vispirms izveidosim datu rāmi ar divām kolonnām:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RRezultāts izskatās šādi:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRTālāk definēsim otro datu rāmi ar tādu pašu kolonnu skaitu:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
df2<-data.frame(names, status)
df2RRezultāts:
names status
1 Eva doctor
2 John nurseRTagad mēs varam apvienot abus datu rāmjus:
#binding rows of df1 and df2
rbind(df1,df2)RRezultāts izskatīsies šādi:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurse
6 Eva doctor
7 John nurseRKas notiek, ja datu rāmjiem ir atšķirīgs kolonnu skaits?
Zemāk parādīsim, kas notiek, ja mēģināt apvienot divus datu rāmjus, kuriem ir atšķirīgs kolonnu skaits.
Vispirms atkal izveidosim datu rāmi ar divām kolonnām:
#creating data frame 1
names<-c("Deborah","Tom","Matt","Laura","Rebecca")
status<-c("nurse","doctor","nurse","doctor","nurse")
df1<-data.frame(names, status)
df1RRezultāts:
names status
1 Deborah nurse
2 Tom doctor
3 Matt nurse
4 Laura doctor
5 Rebecca nurseRTagad izveidosim datu rāmi ar trim kolonnām:
#creating data frame 2
names<-c("Eva","John")
status<-c("doctor","nurse")
age<-c("52","38")
df2<-data.frame(names, status, age)
df2RRezultāts:
names status age
1 Eva doctor 52
2 John nurse 38RKad mēs izmantojam rbind(), lai mēģinātu apvienot abus datu rāmjus, mēs saņemam šādu kļūdas ziņojumu:
rbind(df1,df2)
Error in rbind(deparse.level, ...) :
numbers of columns of arguments do not matchRKļūda liecina, ka mēs nevaram izmantot R rbind(), lai apvienotu abus datu rāmjus, jo tiem ir atšķirīgs kolonnu skaits. Tomēr mēs varam izmantot bind_rows() no dplr paketes.
Kā apvienot datu rāmjus ar atšķirīgu kolonnu skaitu
Iepriekš minētā piemēra datu rāmji var viegli tikt apvienoti ar bind_rows().
#install dplyr
install.packages('dplyr')
#import libraries
library(dplyr)
#bind rows
bind_rows(df1,df2)RRezultāts izskatās šādi:
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() veiksmīgi apvieno abus datu rāmjus. Tukšie lauki ir atzīmēti ar <NA>. Šī funkcija ir laba alternatīva rbind() R, ja nepieciešams apvienot datu rāmjus ar atšķirīgu kolonnu skaitu.