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?))

Answer1:

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.

人吐槽 人点赞

Recommend

Comment

用户名: 密码:
验证码: 匿名发表

你可以使用这些语言

查看评论:In R, write each nested data frame to a CSV