在R中从另一数据框查找值并提取最大日期对应数据
提取最大日期对应数据到目标数据框
要实现从Spreads中提取最新(最大日期)的评级利差值并填充到DF_1的对应列中,可按以下步骤操作:
步骤1:定位最大日期的行
首先筛选出Spreads中日期最大的那一行数据,这一行就是我们需要的最新利差数据:
latest_spreads <- Spreads[Spreads$Date == max(Spreads$Date), ]
步骤2:将值映射到DF_1的对应列
根据DF_1的列名与Spreads中列的对应关系,将最新值逐一填充:
DF_1$`Financials AAA` <- latest_spreads$Spreads_AAA DF_1$`Financials AA` <- latest_spreads$Spreads_AA DF_1$`Financials BBB` <- latest_spreads$Spreads_BBB
验证结果
执行上述代码后,查看DF_1即可得到预期结果:
> DF_1 Financials AAA Financials AA Financials BBB 1 0.3 0.1 1
更简洁的批量赋值方式(可选)
如果列名对应关系固定,也可以用批量赋值简化代码:
# 定义列名映射关系 col_map <- c( "Financials AAA" = "Spreads_AAA", "Financials AA" = "Spreads_AA", "Financials BBB" = "Spreads_BBB" ) # 批量填充 DF_1[names(col_map)] <- latest_spreads[col_map]
内容的提问来源于stack exchange,提问作者MA_1760
相关产品推荐
相关产品推荐

