![](/img/trans.png)
[英]how to add multiple columns from one data frame to another based on values in another column?
[英]How to filter based on multiple column values from another data frame?
我有一個數據框,我試圖根據第一個數據框中的 2 個 ID 列進行過濾。 這是數據框1:
id_1 | id_2 |
---|---|
一個 | 1 |
乙 | 2 |
C | 3 |
和數據框2:
id_1 | id_2 |
---|---|
一個 | 1 |
乙 | 2 |
一個 | 2 |
如果我做類似...
df2_filtered <- df2 %>%
filter(id_1 %in% df1$id_1 &
id_2 %in% df1$id_2)
然后我取回了整個 df2,這不是我想要的。 即使“A”在 df1 的 id_1 中,“2”在 df1 的 id_2 中,也沒有任何行同時具有這兩者。 我該如何解決它,這樣我才能回來
id_1 | id_2 |
---|---|
一個 | 1 |
乙 | 2 |
如果您沒有綁定到dplyr
解決方案,那么data.table
有一個不錯的選擇:
library(data.table)
df1 = as.data.table(df1)
df2 = as.data.table(df2)
fintersect(df1, df2)
id_1 id_2
1: A 1
2: B 2
您可以使用dplyr::inner_join
:
inner_join(data1, data2)
# Joining, by = c("id_1", "id_2")
# id_1 id_2
# 1 A 1
# 2 B 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.