将分组数据框导出到 Excel 并为每个组创建单独的选项卡(R、dplyr)

Rob*_*rta 4 r dplyr writexl

我在 R 中有一个大型数据框,我想将其导出到 Excel。为了让理解更容易;我将使用 mtcars 数据集作为示例。数据框有一个分组变量(cyl),我希望每个组的数据位于不同的 Excel 选项卡中。由于我自己的数据框有 20 多个组,如果我不必手动将每个组分配给选项卡,我会很高兴。

这就是我走了多远(不是很远)

library(dplyr) 
library(writexl)
Run Code Online (Sandbox Code Playgroud)
mtcars %>% group_by(cyl)
Run Code Online (Sandbox Code Playgroud)

理想情况下,这可以使用 writexl 包而不是 xlsx 来解决,因为我无法在工作计算机上安装 xlsx。

然后,Excel 文件应包含 3 个标记为“4”、“6”和“8”的选项卡。每个选项卡应包含相应组的数据。

非常感谢您对此的帮助。

Jil*_*ina 7

write_xlsx帮助文件中您可以阅读

要创建具有(多个)命名工作表的 xlsx,只需将 x 设置为数据框的命名列表即可。

因此,您可以通过执行以下操作来解决您的问题:

write_xlsx(split(mtcars, mtcars$cyl), "mtcars.xlsx")
Run Code Online (Sandbox Code Playgroud)

生成的 Excel 文件如下所示:

在此输入图像描述