首页 > 解决方案 > R:如果日期重合,则将一列中的值乘以另一列中的值

问题描述

我已经尝试了几天,但我似乎无法找到一种方法来做到这一点。我有两个数据框。一个名为“df1”的变量包含两个变量:日期、价格

         date        price
        2019-12-21    140
        2019-10-25     91
        2019-10-24     91    
        2019-12-13     70

另一个,名为“df2”,有两个变量:日期、汇率

         date        exchange rate
        2019-12-21    1.1097
        2019-12-22    1.117
        2019-12-23    1.1075  
           ...         ...
        2019-12-13    1.108
           ...         ...
        2019-10-25    1.1074
        2019-10-24    1.1073


当日期重合时,我想将 df2 中的汇率乘以 df1 中的价格。并将其添加到 df1 的列中。所以结果会是这样的:

         date        price    priceEUR
1       2019-12-21    140      155.358
2       2019-10-25     91      100.7734
3       2019-10-24     91      100.7643
4       2019-12-13     70      77.56

非常感谢。

标签: rcurrency-exchange-rates

解决方案


一种方法是:

library(tidyverse)

df3 <- inner_join(df1, df2)

df3 <- df3 %>%
    mutate(priceEUR = price * rate)

推荐阅读