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