我有两个数据帧:原始和基础.
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的每个债券的原始和基础之间的利率差额。基本费率。输出应采用以下格式-

注:原始数据帧包含原始和基本费率的数值
我正在尝试使用group_by(),但没能做得更深入。请帮我处理这个。即使是建议也会奏效。
发布于 2021-11-19 07:08:59
似乎您希望使用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函数:
mutate(Rate_Diff = Rate.x - Rate.y, Rate=Rate.x)https://stackoverflow.com/questions/70030232
复制相似问题