728x90
반응형

데이터 병합

  • x와 u는 name을 공통 열로 갖고 있어서 name을 중심으로 두 파일을 병합한다.
  • 두 개의 데이터프레임 x와 y를 name을 기준으로 병합하기 위해 merge()함수를 사용한다.
  • 병합의 기준이 되는 열의 값이 일치되지 않는 경우에도 출력이 가능하다.
  • all.x = T : 첫 번재 데이터셋의 행들은 일단 모두 출력하고, 이 행들과 대응되는 행이 두 번째 데이터셋에 있으면 병합해서 출력하고, 없으면 NA로 출력
  • all.y = T : 두 번째 데이터셋의 행들은 일단 모두 출력하고, 이 행들과 대응되는 행이 첫 번재 데이터셋에 있으면 병합해서 출력하고, 없으면 NA로 출력
# 데이터 병합
x <- data.frame(name=c("a","b","c"),math=c(90,80,100))
y <- data.frame(name=c("a","b","d"), korean=c(75,60,90))
x
y

x_y <- merge(x,y,by=c("name")) # name 중심 x와 y 를 x_y에 저장'
x_y
merge(x,y, all.x=T) # 첫 번째 데이터셋의 행들은 모두 표시되도록
merge(x,y, all.y=T) # 두 번째 데이터셋의 행들은 모두 표시되도록
merge(x,y, all=T) # 두 데이터셋의 모든 행들이 표시되로록

 

 

[그림1] x,y 데이터 프레임 생성

 

[그림2] x와 y 데이터 x_y에 병합
[그림3] 첫 번째 데이터셋의 행 모두 출력
[그림4] 두 번째 데이터셋 행 모두 출력
[그림5] 두 데이터셋 모든 행 출력

 

병합의 기준이 되는 열의 이름이 서로 다른 경우 병합하는 방법

# 병합의 기준이 되는 열의 이름이 서로 다른 경우 병합하는 방법 
x <- data.frame(name=c("a","b","c"),math=c(90,70,100))
y <- data.frame(sname=c("a","b","c"),korean=c(75,60,90))
x
y
merge(x,y,by.x=c("name"),by.y=c("sname"))

 

 

[그림6] 병합 기준 열의 이름이 서로 다른 경우

 

출처 : 모두를 위한 R 데이터 분석 입문 한빛아카데미

728x90
반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기