簡體   English   中英

如何通過匹配日期列來匯總兩個數據框?

[英]How to summarize two data frames by matching date columns?

我有兩個數據框:原始和基礎......

Original<- data.frame(Bond = c("A","B","C","D"),Date = c("19-11-2021","19-11-2021","19-11-2021","17-11-2021"),
                  Rate =c("O_11","O_12","O_13","O_31"))

在此處輸入圖像描述

base<- data.frame(Date = c("19-11-2021","18-11-2021","17-11-2021"), Rate =c("B_1","B_2","B_3"))

在此處輸入圖像描述

在這里,我想計算每個日期 w.r.t 的每個債券的 Original 和 Base 之間的利率差異。 基准利率。 output 應采用以下格式 -

在此處輸入圖像描述

注意:原始數據框包含原始匯率和基本匯率的數值

我正在嘗試使用group_by()但無法繼續進行。 請幫我解決一下這個。 即使建議也將起作用

似乎您想加入日期,使用 dplyr 您可以使用 inner_join,假設原始中的每條記錄都存在一個日期:

Output <- Original %>%
  inner_join(base, by="Date") %>%
  mutate(Rate_Diff = paste0(Rate.x,"-",Rate.y), Rate=Rate.x) %>%
  select(-Rate.x, -Rate.y)

> Output
  Bond       Date Rate_Diff Rate
1    A 19-11-2021  O_11-B_1 O_11
2    B 19-11-2021  O_12-B_1 O_12
3    C 19-11-2021  O_13-B_1 O_13
4    D 17-11-2021  O_31-B_3 O_31

編輯:現在看到注釋,那么您可以將 paste0 function 替換為實際列:

 mutate(Rate_Diff = Rate.x - Rate.y, Rate=Rate.x)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM