2013-03-18 4 views
5

두 개의 데이터 프레임이 있습니다. 두 행의 행 이름은 날짜입니다. 내가하고 싶은 일은 두 데이터 프레임에서 모든 공통 행 (날짜가 같은)을 선택하고 이러한 공통 행만 갖는 새 데이터 프레임을 생성하려고합니다.데이터 프레임 rownames의 교차점 찾기

물론 각 열은 서로 옆에 추가됩니다.

아무도 도와 줄 수 있습니까 ??

+1

새로운 사용자를 downvoting하고 건설적인 피드백을받지 않습니까? * 한숨 * –

+0

@ RicardoSaporta 동의했다, 수치 스럽다. –

답변

5

시도 :

merge(df1, df2, by="row.names") 
?merge 

도 = 0 대신 'row.names'로 사용할 수 있습니다. 그리고 BTW Rwnames는 R Date 클래스가 아니지만, 문자 값입니다. 나는 1도이 작업을 수행 할 수도있을 것 같군요 :

cbind(df1[ intersect(rownames(df1), rownames(df2)), ] , 
     df2[ intersect(rownames(df1), rownames(df2)), ]) 
+0

그 이전 +1 및 내 절반을 입력 된 응답을 삭제하십시오. – mnel

+0

확인하려면 시간이 걸렸습니까? 병합하십시오. 끝내야 할 시간을 주어야 했어. –

+1

내부 조인과 외부 조인의 용어에 대한 단락을 작성했습니다. – mnel

0

당신이 그의 제안의 첫 번째 줄을 사용하는 경우 당신이 원하는 것처럼 당신이 기능으로 데이터의 교차점을 정의하기 때문에 당신이 데이터를 얻을 수 BondedDust의 대답을 바탕으로 "intersect"연산자 ('['와 ']')로 데이터를 필터링하고 'cbind'함수를 사용하여 열을 기준으로 데이터를 바인딩합니다.

cbind(df1[ intersect(rownames(df1), rownames(df2)), ])