R의 두 데이터 프레임을 서로 다른 열과 결합하는 방법


R의 dplyr 패키지에 있는 bind_rows() 함수를 사용하면 두 개의 데이터 프레임을 서로 다른 열로 빠르게 결합할 수 있습니다.

 library (dplyr)

bind_rows(df1, df2)

다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.

예: 두 개의 데이터 프레임을 서로 다른 열로 결합

R에 다음과 같은 두 개의 데이터 프레임이 있다고 가정합니다.

 #define first data frame
df1 <- data. frame (A=c(1, 6, 3, 7, 5),
                  B=c(7, 9, 8, 3, 2),
                  C=c(3, 5, 2, 9, 9))

df1

  ABC
1 1 7 3
2 6 9 5
3 3 8 2
4 7 3 9
5 5 2 9

#define second data frame
df2 <- data. frame (B=c(1, 3, 3, 4, 5),
                  C=c(7, 7, 8, 3, 2),
                  D=c(3, 3, 6, 6, 8))

df2

  BCD
1 1 7 3
2 3 7 3
3 3 8 6
4 4 3 6
5 5 2 8

df1의 열 이름은 다음과 같습니다.

  • 가지다
  • VS

df2에는 다음과 같은 열 이름이 있습니다.

  • VS

열 이름이 일치하지 않으므로 R의 rbind() 함수를 사용하려고 하면 오류가 발생합니다.

 #attempt to use rbind to row bind data frames
rbind(df1, df2)

Error in match.names(clabs, names(xi)): 
  names do not match previous names

대신 dplyr 패키지의 bind_rows() 함수를 사용하여 이 두 데이터 프레임을 결합하고 결과 데이터 프레임의 누락된 값을 NA 값으로 채울 수 있습니다.

 library (dplyr)

#combine df1 and df2
bind_rows(df1, df2)

    ABCD
1 1 7 3 NA
2 6 9 5 NA
3 3 8 2 NA
4 7 3 9 NA
5 5 2 9 NA
6 NA 1 7 3
7 NA 3 7 3
8 NA 3 8 6
9 NA 4 3 6
10 NA 5 2 8

추가 리소스

R에서 두 개의 열을 하나로 결합하는 방법
R에서 데이터 프레임 열을 쌓는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다