gpt4 book ai didi

r - 在多个工作表中将数据框列表写入 Excel

转载 作者:行者123 更新时间:2023-12-04 19:48:40 26 4
gpt4 key购买 nike

我有一个数据框,我对其进行了一些分析,我想将结果导出到 Excel 文件。每组一个工作簿,每个分析结果在一个单独的选项卡上。我更愿意使用 openxlsx用于导出将 java 排除在外。

library(plyr)
library(dplyr)
library(openxlsx)

df <- iris

# Analysis 1
results1 <- df %>%
group_by(Species) %>%
summarise(count = n())

# Analysis 2
results2 <- df %>%
group_by(Species) %>%
summarise(mean.sl = mean(Sepal.Length),
mean.sw = mean(Sepal.Width))

我想要的导出输出是三个 Excel 工作簿,setosa.xlsx , versicolor.xlsx , 和 virginica.xlsx ;每个都有两张“results1”和“results2”,仅包含其组内结果。这意味着在 versicolor Excel 文件中没有 setosa 行。

我试图拆分results1results2进入数据框列表以便使用lappywrite.xlsx但我无法让它发挥作用。

r1_list <- dlply(results1, .(Species))
r2_list <- dlply(results2, .(Species))

其他建议?

最佳答案

示例代码

library(plyr)
library(dplyr)
library(openxlsx)


setwd("c:/r")
df <- iris

# Analysis 1
results1 <- df %>%
group_by(Species) %>%
summarise(count = n())

# Analysis 2
results2 <- df %>%
group_by(Species) %>%
summarise(mean.sl = mean(Sepal.Length),
mean.sw = mean(Sepal.Width))

#get the unique species
sp <- unique(df$Species)

createSpreadsheets <- function(species,r1,r2){
## Create new workbooks
wb <- createWorkbook()

## Create the worksheets
addWorksheet(wb, sheetName = "Results1" )
addWorksheet(wb, sheetName = "Results2" )

## Write the data
writeData(wb, "Results1", r1)
writeData(wb, "Results2", r2)

## Save workbook to working directory
saveWorkbook(wb, file = paste(species,".xlsx", sep=""), overwrite = TRUE)
}

## create spreadsheets by calling our function for each species
for(s in sp){
createSpreadsheets(s,results1[results1$Species==s,],results2[results2$Species==s,])
}

关于r - 在多个工作表中将数据框列表写入 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38645018/

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