R의 rbind() 함수 – 행 바인딩이 쉬워집니다

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

rbind()는 행 바인딩을 나타냅니다. 더 간단하게 말하면 여러 행을 하나의 일괄 처리로 결합하는 것입니다. 두 개의 데이터 프레임, 벡터 등을 결합할 수 있습니다.

이 문서에서는 R 프로그래밍에서 rbind() 함수의 사용 및 응용에 대해 다루겠습니다.

시간을 낭비하지 않고 주제로 들어가 봅시다!!!


rbind() 함수의 구문

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

rbind(x,x1)

여기서:

  • X = the input data.
  • X1 = 바인딩할 데이터입니다.

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

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

아래 다이어그램은 rbind() 함수의 작동 방식을 이해하는 데 도움이 될 것입니다.

rbind() 함수에 의해 서로 다른 데이터 프레임의 행이 어떻게 바인딩/결합되는지 볼 수 있습니다.


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

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

이 섹션에서는 간단한 데이터 프레임을 만들고 rbind() 함수를 사용하여 이들을 결합해 보겠습니다.

#데이터 프레임 생성

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개의 행을 가진 데이터 프레임이 있습니다. 다른 데이터 프레임을 만들어 보겠습니다.

#데이터프레임 생성

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개의 데이터 프레임을 하나의 데이터 프레임으로 결합해 보겠습니다.

어떻게 작동하는지 살펴보겠습니다.

전체 결합 과정이 단 한 줄의 코드로 이루어진다는 것을 믿을 수 없을 것입니다.

#두 입력 데이터 프레임의 행을 결합

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 함수를 사용하여 두 개의 데이터 세트를 결합하는 방법을 살펴보겠습니다.

#데이터 프레임 생성

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
#데이터 프레임 생성

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.packages('dplyr')
#라이브러리 가져오기
library(dplyr)
#행 바인딩
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 함수가 열 측면에서 두 개의 불균형한 데이터 세트를 결합한 것을 볼 수 있습니다. 빈 공간은 <NA>로 표시됩니다.


rbind() 함수를 사용하여 두 개의 데이터 세트를 결합하는

이 섹션에서는 R에서 두 개의 전체 데이터 세트를 결합하는 방법을 살펴보겠습니다.

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

우리는 BOD 데이터 세트를 사용할 것입니다. 이 데이터 세트는 6개의 행만 있으며 바인딩된 행을 쉽게 관찰할 수 있습니다.

#두 개의 데이터 세트 결합
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() 함수도 잊지 마세요.

#두 개의 다른 데이터 세트 결합

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 함수의 작동 및 응용 프로그램을 명확히 보여주는 예시입니다.

I hope these illustrations helped you in understanding these functions.


R에서 여러 행 그룹 바인딩하기

이 섹션에서는 함수 rbind()를 사용하여 여러 개(2개 이상)의 행 그룹을 바인딩하는 데 초점을 맞출 것입니다. 어떻게 작동하는지 살펴보겠습니다.

#3개의 데이터 세트 행 바인딩
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 문서

Source:
https://www.digitalocean.com/community/tutorials/rbind-function-r