You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用mutate函数为DataFrame货币字段添加汇率列

解答

完全可以通过mutate()实现该操作,搭配条件匹配函数就能快速完成货币符号到汇率的映射。

具体实现代码

你可以使用dplyr包中的mutate()配合case_when()做逐行条件判断,直接生成目标列:

# 加载dplyr包
library(dplyr)

# 复现示例输入数据
dat <- data.frame(
  currency = c("$", "€", "£", "¥")
)

# 新增汇率列
dat <- dat %>% 
  mutate(
    ex_rate = case_when(
      currency == "$" ~ 1,
      currency == "€" ~ 0.8,
      currency == "£" ~ 0.55,
      currency == "¥" ~ 130,
      TRUE ~ NA_real_ # 未匹配到的货币默认填充NA,可按需修改
    )
  )

运行上述代码后得到的输出和预期结果完全一致:

currency ex_rate
1        $    1.00
2        €    0.80
3        £    0.55
4        ¥  130.00

更适合多货币场景的方案

如果你需要处理的货币种类较多,更推荐单独维护一份货币-汇率映射表,通过左连接的方式匹配汇率,后续更新汇率时只需要修改映射表即可,不用改动匹配逻辑,示例代码如下:

# 单独维护汇率映射表
rate_ref <- data.frame(
  currency = c("$", "€", "£", "¥"),
  ex_rate = c(1, 0.8, 0.55, 130)
)

# 连接匹配得到结果
dat <- left_join(dat, rate_ref, by = "currency")

内容的提问来源于stack exchange,提问作者ManjiroSano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.10 16:15:46