Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
581 views
in Technique[技术] by (71.8m points)

dataframe - In R, how do I subset a data.frame by values from another data.frame?

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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,]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...