2017-10-26 1 views
-3

테이블 A와 테이블 B가 있습니다. 나는 변수를 "연도"와 "지방 (테이블 b의 지역)"으로 합쳐서 표 b의 "지방"이 표 A에 나타날 수 있도록합니다. enter image description here enter image description hereR에서 2 개의 변수에 따라 2 개의 테이블을 병합하는 방법?

+0

최소한의 예제로 문제를 재현하고 지금까지 시도한 것을 보여 주면 유용한 도움을받을 가능성이 더 큽니다. 데이터의 스크린 샷은 중요하지 않습니다. [here] (https://stackoverflow.com/help/mcve)를 참조하십시오. 또한 표 A의 '지방'과 '표 B'의 '지역'은 같은 방식으로 형식이 지정되지 않으므로이를 처리해야합니다. –

답변

0

당신은 아래 merge를 사용할 수 있습니다

merge(a, b, by=c("year","province")) 

이 열 년 지방으로 두 data frames을 병합합니다.

+0

작동하지 않습니다. "by ="은 하나의 변수 만 사용할 수 있습니다. – zhang

+0

두 개 이상의 변수를 사용할 수 있습니다. 내가했던 것처럼 언급해야합니다. 여기를 참조하십시오 : https://www.statmethods.net/management/merging.html – Santosh

0

첫째, 있도록 프로세스에 쉽게, 지역에 지방에서 테이블 A의 변수 이름을 변경 :

names(taba)[names(taba)=="province"] <- "region" 

는 데이터 프레임의 구조는 다소 다음과 같이 될 것입니다 :

taba <- data.frame("a", "b", "c") 

tabb <- data.frame("a", "b", "d") 

열의 이름을 변경 한 후에는 dplyr 라이브러리로 left_join을 수행하기 만하면됩니다.

library(dplyr) 

tabc <- left_join(taba, tabb) 
+0

이해가 안됩니다. where by the parameter "by =" – zhang

+0

@zhang 매개 변수 "by"는 테이블 left_join (taba, tabb, by = 열) 뒤에 올 수 있지만 일치하는 이름이 있으면 자동으로 그 테이블에 조인됩니다. 이 경우에는 지정할 필요가 없습니다. – Barbara

관련 문제