使用SQL或R基于单独 Dataframe 中的匹配列提取行值

nhjlsmyf  于 2023-02-01  发布在  其他
关注(0)|答案(1)|浏览(104)

我有两个 Dataframe ,如下所示:
Df1
| 日期|项目a|B|
| - ------|- ------|- ------|
| 2023年1月31日|十个|约翰|
| 2022年2月30日|十五|埃勒|
| 2020年3月4日|二十个|大卫|
Df2
| 日期|项目a|
| - ------|- ------|
| 2023年1月31日|十个|
| 2022年2月30日|三十|
| 2020年4月4日|二十个|
我希望仅在Df1$date = Df2$date AND Df1$a = Df2$a时提取Dataframe 1中B列的值。
在上面的示例中,两个条件都匹配的唯一行是第1行,因此输出应为
| B|
| - ------|
| 约翰|
我如何在R中使用sqldf或者甚至使用base R来编写它呢?

s4n0splo

s4n0splo1#

您可以使用dplyr包中的inner_join

library(dplyr)
df1 %>% 
  inner_join(df2, by = c("date", "a")) %>% 
  select(b) # as per @jpsmith comment
     b
1 john

相关问题