gpt4 book ai didi

r - 在 mutate 之外使用 nest 和 purrr::map

转载 作者:行者123 更新时间:2023-12-05 00:14:41 29 4
gpt4 key购买 nike

假设我想根据 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'))))

有没有办法在不调用 mutate 的情况下对 by_cyl 对象执行此操作?

最佳答案

这是一个使用 purrr 的选项没有 mutate来自 dplyr .

library(tidyverse)
mtcars %>%
split(.$cyl) %>%
walk2(names(.), ~write_csv(.x, paste0(.y, '.csv')))

更新

这会降低 cyl列之前保存输出。
library(tidyverse)
mtcars %>%
split(.$cyl) %>%
map(~ .x %>% select(-cyl)) %>%
walk2(names(.), ~write_csv(.x, paste0(.y, '.csv')))

更新2
library(tidyverse)
by_cyl <- mtcars %>%
group_by(cyl) %>%
nest()
by_cyl %>%
split(.$cyl) %>%
walk2(names(.), ~write_csv(.x[["data"]][[1]], paste0(.y, '.csv')))

关于r - 在 mutate 之外使用 nest 和 purrr::map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46459567/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com