2012-03-19 7 views
2

두 개의 데이터 프레임이 있습니다. 첫 번째 숫자 인 df.1에는 쌍으로 된 숫자 식별자가 포함되어 있으며 각 열에는 ~ 100,000 개의 행이 포함되어 있습니다. 두 번째 데이터 프레임 df.2에는 하나의 숫자 식별자 (df.2$C)가 포함됩니다. 이 데이터 프레임에는 약 200 개의 행이 있습니다.R에서는 data.frame을 다른 data.frame의 값으로 하위 집합하는 방법은 무엇입니까?

df.1의 데이터 쌍을 찾아서 df.2$C에있는 식별자 값이있는 행만 어떻게 찾을 수 있습니까?

최종 서브셋 df.1$A, df.1$B 또는 양쪽에있는 식별자가 일치 df.2$C 검색된 식별자에 해당 df.1의 쌍의 데이터를 포함한다.

답변

13

당신은 ?"%in%" (유사 ?match에) 사용할 수 있습니다

df1 <- data.frame(A=sample(1:10, 10), B=sample(1:10, 10)) 
df2 <- data.frame(C=1:5) 

selectedRows <- (df1$A %in% df2$C | df1$B %in% df2$C) 

dfReduced <- df1[selectedRows,] 
관련 문제