简体   繁体   中英

In R, write each nested data frame to a CSV

PROBLEM:

I have data frame of data frames from purrr and want to write each nested data frame to a 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]>

That is, I want 3 CSVs from above: one CSV for each tibble under "data".

I prefer tidyverse functions to lapply or similar.

POTENTIAL SOLUTION

I think it's gotta be something using map() or similar function:

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

If you use purrr::by_row , you can access the dataset via .$dataset :

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

This will save each tibble in a row to a separate file under the name of dataset .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM