在R中,如何通过另一个data.frame的值对data.frame进行子集化?

Pau*_*ota 4 r subset dataframe

我有两个数据帧.第一个,df.1包含两列成对的数字标识符,其中每列包括~100,000行.第二数据帧df.2包括一列(df.2$C)数字标识符.该数据帧大约有200行.

如何找到配对的数据子集df.1,其中仅包含具有在df.2$C?中找到的标识符值的行?

最终子集将包括的配对数据df.1,其对应于在找到的标识符df.2$C相匹配的发现标识符df.1$A,df.1$B或两者.

sgi*_*ibb 15

你可以使用?"%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,]
Run Code Online (Sandbox Code Playgroud)