在 R 中,将每个嵌套数据帧写入 CSV

In R, write each nested data frame to a CSV

问题:

我有来自 purrr 的数据帧的数据帧,想将每个嵌套数据帧写入 CSV。

> df
# A tibble: 3 × 2
  dataset                   data
    <chr>                 <list>
1     aab    <tibble [681 × 60]>
2     aae <tibble [1,486 × 173]>
3     acm <tibble [3,496 × 139]>

也就是说,我想要上面的 3 个 CSV:"data" 下的每个小标题一个 CSV。

lapply 或类似函数相比,我更喜欢 tidyverse 函数。

可能的解决方案

我认为它必须使用 map() 或类似的功能:

df %>% 
  map(~write_csv(data, file=[how to get filename from 'dataset' column?))

如果您使用 purrr::by_row,您可以通过 .$dataset:

访问 dataset
temp <- df %>% by_row(~write.csv(.$data, file = .$dataset))

这会将一行中的每个 tibble 保存到名为 dataset 的单独文件中。