使用purrr :: map

时间:2017-11-28 09:46:56

标签: r csv purrr

问题:

我有一个数据帧列表,应该作为csv文件写入磁盘。

假设这是数据框列表:

dfs <- list(iris,
            mtcars)

什么不工作:

我试图像这样构建正确的文件名,但它不起作用:

dfs %>% 
  map(~paste0("data-raw/", ., ".csv"))

我希望这一位能正确地将文件名作为字符串返回。相反,map将每列和每个值与paste0调用相匹配。

我还尝试了deparse(substitute(.))技巧,但.调用中map未正确重新识别。

下一步是将数据帧(dfs的元素)写为csv文件。

问题:

如何使用purrr::map(或类似的appraoch)使用dfs将每个数据框(write_csv的每个元素)作为csv文件写入磁盘?

1 个答案:

答案 0 :(得分:6)

试试这个。

list(iris = iris, mtcars = mtcars) %>%
  names(.) %>%
  map(~ write_csv(dfs[[.]], paste0("data-raw/", ., ".csv")))