웹사이트 검색

R의 rbind() 함수 - 간편한 행 바인딩


R의 rbind() 함수를 사용하면 행을 바인딩하거나 결합하는 것이 매우 쉽습니다.

rbind()는 행 바인딩을 나타냅니다. 간단히 말해서 여러 행을 결합하여 단일 배치를 형성합니다. 여기에는 두 개의 데이터 프레임, 벡터 등을 결합하는 것이 포함될 수 있습니다.

이 기사에서는 R 프로그래밍에서 rbind() 함수의 사용 및 응용에 대해 설명합니다.

많은 시간을 낭비하지 않고 주제로 들어가자!!!

rbind() 함수의 구문

rbind(): rbind 또는 행 바인드 함수는 여러 행 그룹을 함께 묶거나 결합하는 데 사용됩니다.

rbind(x,x1)

어디:

  • X=입력 데이터.
  • X1 = 데이터를 바인딩해야 합니다.

rbind()를 사용하여 행을 바인딩하는 아이디어

여러 데이터 프레임의 행을 바인딩하거나 결합한다는 아이디어는 데이터 조작에 매우 유용합니다.

아래 다이어그램은 확실히 rbind() 함수 작업에 대한 아이디어를 얻을 것입니다.

서로 다른 데이터 프레임의 행이 rbind() 함수에 의해 바인딩/결합되는 방식을 확인할 수 있습니다.

R에서 rbind() 함수 구현하기

알다시피 R의 rbind() 함수는 서로 다른 데이터 그룹의 행을 바인딩하는 데 사용됩니다.

이 섹션에서는 간단한 데이터 프레임을 구성하고 rbind() 함수를 사용하여 바인딩해 보겠습니다.

#creating a data frame 

Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)

df1

위의 코드는 학생 세부 정보와 이름을 나타내는 간단한 데이터 프레임을 구성합니다.

   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George

자, 이제 우리는 5행의 데이터 프레임을 갖게 되었습니다. 다른 데이터 프레임을 만들어 봅시다.

#creating a dataframe

Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)

df2
    Student_class      Student_details
1   High school           Bracy
2       College            Evin

자, 이제 행 개수가 다른 2개의 데이터 프레임(df1 및 df2)이 있습니다. rbind() 함수를 사용하여 위의 2개의 데이터 프레임을 단일 데이터 프레임으로 바인딩합니다.

어떻게 작동하는지 봅시다.

전체 바인딩 프로세스에 코드 한 줄만 필요하다고 생각하지 않을 것입니다.

#binds rows of 2 input data frames

rbind(df1,df2)
    Student_class     Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George
6   High school           Bracy
7       College            Evin

결과 데이터 프레임은 위의 출력과 같이 두 데이터 프레임의 결합된 버전이 됩니다.

bind() 함수를 사용하여 길이가 다른 두 데이터 프레임 바인딩

이전 섹션에서는 두 행 그룹을 함께 결합했습니다.

이 섹션에서는 R의 rbind 함수를 사용하여 두 데이터 세트를 함께 결합할 것입니다.

#creates the data frame

Student_details<-c("Mark","John","Fredrick","Floyd","George")
Student_class<-c("High school","College","High school","High school","College")
df1<-data.frame(Student_class,Student_details)

df1
   Student_class    Student_details
1   High school            Mark
2       College            John
3   High school        Fredrick
4   High school           Floyd
5       College          George
#creats the data frame

Student_details<-c("Bracy","Evin")
Student_class<-c("High school","College")
Student_rank<-c("A","A+")
df2<-data.frame(Student_class,Student_details,Student_rank)
df2
   Student_class   Student_details   Student_rank
1   High school           Bracy            A
2       College            Evin           A+
rbind(df1,df2)
Error in rbind(deparse.level, ...) : 
  numbers of columns of arguments do not match

오 잠깐, 무슨 일이야? 함수에서 오류가 발생하는 이유는 무엇입니까?

오류의 줄을 읽으면 열 수가 일치하지 않는다는 내용입니다.

'df1'에 2개의 열이 있고 'df2'에 3개의 열이 있습니다.

걱정하지 마세요! 우리는 이러한 시나리오에서 우리를 도울 bind_rows() 함수를 가지고 있습니다.

고르지 않은 데이터 세트를 묶는 bind_rows() 함수

bind_rows()는 dplyr 패키지의 일부인 함수입니다. 이 기능을 실행하려면 먼저 dplyr 패키지를 가져와야 합니다.

위 섹션, 즉 df1 및 df2에 있는 동일한 데이터 프레임을 사용하고 있습니다. 어떻게 작동하는지 봅시다.

#install required packages
install.packages('dplyr')
#import libraries
library(dplyr)
#bind the rows
bind_rows(df1,df2)
   Student_class    Student_details   Student_rank
1   High school            Mark         <NA>
2       College            John         <NA>
3   High school        Fredrick         <NA>
4   High school           Floyd         <NA>
5       College          George         <NA>
6   High school           Bracy          A
7       College            Evin          A+

이제 bind_rows 함수가 열 측면에서 이 두 가지 다른 데이터 세트를 결합한 것을 볼 수 있습니다. 빈 공간은 로 표시됩니다.

rbind() 함수를 사용하여 두 데이터 세트 바인딩

이 섹션에서는 R에서 두 개의 전체 데이터 세트의 바인딩을 살펴볼 것입니다.

어떻게 작동하는지 봅시다.

행이 6개뿐이고 바인딩된 행을 쉽게 관찰할 수 있으므로 BOD 데이터 세트를 사용할 것입니다.

#binds two data sets
rbind(BOD,BOD)
  Time demand
1     1    8.3
2     2   10.3
3     3   19.0
4     4   16.0
5     5   15.6
6     7   19.8
---------------
7     1    8.3
8     2   10.3
9     3   19.0
10    4   16.0
11    5   15.6
12    7   19.8

BOD 데이터 세트에는 6개의 행이 있습니다. 데이터를 두 번 전달하므로 rbind() 함수는 위에 표시된 것과 동일한 행을 바인딩합니다.

또한 bind_rows() 함수도 있다는 것을 잊지 마십시오.

#binds two different datasets

bind_rows(BOD,women)
    Time  demand  height  weight
1     1    8.3     NA     NA
2     2   10.3     NA     NA
3     3   19.0     NA     NA
4     4   16.0     NA     NA
5     5   15.6     NA     NA
6     7   19.8     NA     NA
7    NA     NA     58    115
8    NA     NA     59    117
9    NA     NA     60    120
10   NA     NA     61    123
11   NA     NA     62    126
12   NA     NA     63    129
13   NA     NA     64    132
14   NA     NA     65    135
15   NA     NA     66    139
16   NA     NA     67    142
17   NA     NA     68    146
18   NA     NA     69    150
19   NA     NA     70    154
20   NA     NA     71    159
21   NA     NA     72    164

다음은 bind() 및 bind_rows 함수의 작동 및 적용을 명확하게 보여주는 예입니다.

이 그림이 이러한 기능을 이해하는 데 도움이 되었기를 바랍니다.

R에서 여러 행 그룹 바인딩

이 섹션에서는 rbind() 함수를 사용하여 여러(2개 이상) 행 그룹을 바인딩하는 데 중점을 둘 것입니다. 어떻게 작동하는지 봅시다.

#binds rows of 3 data sets
bind_rows(BOD,women,ToothGrowth)
     Time demand height weight len supp  dose
1     1    8.3     NA     NA   NA  <NA>   NA
2     2   10.3     NA     NA   NA  <NA>   NA
3     3   19.0     NA     NA   NA  <NA>   NA
4     4   16.0     NA     NA   NA  <NA>   NA
5     5   15.6     NA     NA   NA  <NA>   NA
6     7   19.8     NA     NA   NA  <NA>   NA
7    NA     NA     58    115   NA  <NA>   NA
8    NA     NA     59    117   NA  <NA>   NA
9    NA     NA     60    120   NA  <NA>   NA
10   NA     NA     61    123   NA  <NA>   NA
11   NA     NA     62    126   NA  <NA>   NA
12   NA     NA     63    129   NA  <NA>   NA
13   NA     NA     64    132   NA  <NA>   NA
14   NA     NA     65    135   NA  <NA>   NA
15   NA     NA     66    139   NA  <NA>   NA
16   NA     NA     67    142   NA  <NA>   NA
17   NA     NA     68    146   NA  <NA>   NA
18   NA     NA     69    150   NA  <NA>   NA
19   NA     NA     70    154   NA  <NA>   NA
20   NA     NA     71    159   NA  <NA>   NA

R의 bind_rows() 함수에 의해 세 개의 데이터 세트가 어떻게 결합 또는 결합되었는지 관찰하십시오. 이것이 bind_rows() 함수의 아름다움입니다.

이 두 함수는 R 프로그래밍에서 데이터 조작에 무한한 응용 프로그램을 가지고 있습니다.

마무리

R의 rbind() 함수와 bind_rows() 함수는 데이터 조작과 관련하여 가장 유용한 함수입니다.

rbind() 함수를 사용하여 동일한 열 수의 두 데이터 프레임을 쉽게 바인딩할 수 있습니다.

같은 방식으로 데이터 프레임의 열 수가 같지 않은 경우 dplyr 패키지와 함께 bind_rows() 함수를 사용할 수 있습니다.

자, 여기까지입니다. 해피 바인딩!!!

더 읽기: R 문서