4

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.

csgillespie
  • 59,189
  • 14
  • 150
  • 185
Paul Kadota
  • 41
  • 1
  • 1
  • 2

1 Answers1

15

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,]
sgibb
  • 25,396
  • 3
  • 68
  • 74