둘 이상의 데이터 프레임을 하나의 "마스터"데이터 프레임으로 병합하는 여러 스레드를 보았으나 대신 하나의 참조 데이터 프레임을 가져 와서 다른 여러 데이터 프레임에 적용하려고합니다 다른 데이터 프레임은 별도로 유지합니다. 나는 lapply와 'for'루프를 사용해 보았지만 그것을하는 법을 알지 못했습니다. (면책 조항 : 나는 R.에 새로운 해요)R - 하나의 데이터 프레임을 여러 데이터 프레임에 개별적으로 병합/결합
df_geo는 기준 dataframe이며, 다음과 같은 :
district sector cell village village_code
west sectorA cellA villageA XXXXXXXX
west sectorA cellA villageB XXXXXXXX
west sectorB cellB villageC XXXXXXXX
south sectorC cellC villageD XXXXXXXX
의 유형에 특정 정보와 더 많은 열이 세 가지 다른 데이터 세트가 있습니다 그들이 포함하는 자료, 즉 배포, 설문 조사, 후속 조치. 모든 데이터 세트에는 지구, 부문, 셀 및 마을 (동일하게 이름이 지정된)에 대한 열이 있습니다. 예를 들어
> df_distr
v1 district sector cell village v2 v3 …
.. west sectorA cellA villageA .. .. …
.. west sectorA cellA villageB .. .. …
.. west sectorB cellB villageC .. .. …
.. south sectorC cellC villageD .. .. …
및
> df_survey
v1 v5 v6 district sector cell village v7 …
.. .. .. west sectorA cellA villageA .. ..
.. .. .. west sectorA cellA villageB .. ..
.. .. .. west sectorB cellB villageC .. ..
.. .. .. south sectorC cellC villageD .. ..
dataframe 각 컬럼의 다른 번호를 가지며, 상기 위치 변수들 각각에서 동일한 숫자 열의 아니다. 각 구역 - 부문 - 셀 - 마을 조합은 각 village_code와 같이 고유합니다. 구역 섹터 - 셀 - 마을 일치에 따라 8 자리 숫자 위치 ID를 기록하는 세 개의 데이터 프레임 각각에 village_code 열을 추가하려고합니다. 이상적으로, 열을 목록에 저장하는 대신 원래의 각 데이터 프레임에 추가하고 싶습니다. 나는 성공적으로 코드 등 df_distr <- left_join(df_distr, df_geo, by = c("district", "sector", "cell", "village"))
를 사용하여이 하나씩 작업을 수행 할 수 있습니다
> df_distr
v1 district sector cell village v2 v3 … village_code
.. west sectorA cellA villageA .. .. … XXXXXXXX
.. west sectorA cellA villageB .. .. … XXXXXXXX
.. west sectorB cellB villageC .. .. … XXXXXXXX
.. south sectorC cellC villageD .. .. … XXXXXXXX
> df_survey
v1 v5 v6 district sector cell village v7 … village_code
.. .. .. west sectorA cellA villageA .. .. XXXXXXXX
.. .. .. west sectorA cellA villageB .. .. XXXXXXXX
.. .. .. west sectorB cellB villageC .. .. XXXXXXXX
.. .. .. south sectorC cellC villageD .. .. XXXXXXXX
하지만 난 더 효율적으로 할 수있는 방법을 싶습니다 따라서,이 같은보고를하고 싶습니다.
내가 제대로 이해한다면, 당신은 그들 모두가'village_code'을 가질 수 있도록 참조 데이터 집합의 모든 데이터 집합을 가입 왼쪽하려면 붙여진? – useR
@useR 예, 맞습니다. – ktf