In R, how do I subset a data.frame by values from

2019-01-13 23:59发布

问题:

I have two data frames. The first, df.1, contains two columns of paired numerical identifiers, where each column includes ~100,000 rows. The second data frame, df.2, includes one column (df.2$C) of numerical identifiers. This data frame has around 200 rows.

How can I find the paired subset of data of df.1 that includes only the rows with values of the identifiers found in df.2$C?

The final subset would include the paired data of df.1 which corresponds to identifiers found in df.2$C that match the identifiers found in df.1$A, df.1$B or both.

回答1:

You could use ?"%in%" (similar to ?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,]