kma*_*ace 4 r dplyr tidyr purrr
假设我想根据他们的cyl分组将mtcars分成3个csv文件.我可以使用mutate来做到这一点,但它会NULL在输出中创建一个列.
library(tidyverse)
by_cyl = mtcars %>%
group_by(cyl) %>%
nest()
by_cyl %>%
mutate(unused = map2(data, cyl, function(x, y) write.csv(x, paste0(y, '.csv'))))
Run Code Online (Sandbox Code Playgroud)
有没有办法在by_cyl对象上执行此操作而不调用mutate?
这是一个使用purrr没有mutate来自的选项dplyr.
library(tidyverse)
mtcars %>%
split(.$cyl) %>%
walk2(names(.), ~write_csv(.x, paste0(.y, '.csv')))
Run Code Online (Sandbox Code Playgroud)
这会cyl在保存输出之前删除列.
library(tidyverse)
mtcars %>%
split(.$cyl) %>%
map(~ .x %>% select(-cyl)) %>%
walk2(names(.), ~write_csv(.x, paste0(.y, '.csv')))
Run Code Online (Sandbox Code Playgroud)
library(tidyverse)
by_cyl <- mtcars %>%
group_by(cyl) %>%
nest()
by_cyl %>%
split(.$cyl) %>%
walk2(names(.), ~write_csv(.x[["data"]][[1]], paste0(.y, '.csv')))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
790 次 |
| 最近记录: |