2012-03-19 40 views
2

我有兩個數據幀。第一個df.1包含兩列配對的數字標識符,其中每列包含約100,000行。第二數據幀df.2包括數字標識符的一列(df.2$C)。這個數據框有大約200行。在R中,如何通過來自另一個data.frame的值來對data.frame進行子集化?

如何才能找到df.1的配對數據子集,其中只包含具有df.2$C中找到的標識符值的行?

最終子集將包括df.1其對應於匹配df.1$Adf.1$B或兩者中發現的標識符,在df.2$C找到的標識符配對的數據。

回答

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,] 
相關問題