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

如何在嵌套tibble中添加父表的fx列数据?

解决方案

要把父表的fx列值添加到对应的嵌套data表中,核心是让每个嵌套表关联到当前行的fx值,推荐用purrr::map2()同时遍历data和fx两列,具体代码如下:

test3 <- test1 |>
  dplyr::mutate(data = purrr::map2(data, fx, \(x, y) x |> dplyr::mutate(fx = y)))

# 验证结果:查看company2的嵌套数据,已添加fx列且值为USD
test3$data[[2]]

为什么用map2而不是map?

你之前用的map()只针对单个列(data)迭代,而map2()支持同时传入两个列(data和fx):

  • 迭代函数里的x代表当前行的data嵌套表
  • y代表当前行的fx值
    这样就能精准把对应行的fx值添加到嵌套表里。

另一种方法:用rowwise()

如果更习惯dplyr的行式操作,也可以用rowwise()实现:

test4 <- test1 |>
  dplyr::rowwise() |>
  dplyr::mutate(data = list(dplyr::mutate(data, fx = fx))) |>
  dplyr::ungroup()

这个方法会逐行处理数据,把当前行的fx值添加到该行的data嵌套表中,最后记得用ungroup()取消行分组状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 04:32:39