如何将结果导出到 R 中 excel 的不同选项卡
how to export the results into different tabs of excel in R
我有多个数据框,我想将它们导出到 excel/csv 文件的不同选项卡中。我将把我的 15 个数据框分成三组,每组五个。这样,我将拥有三个 excel sheet 和五个不同的选项卡,而不是 15 个单独的 excel sheet。
要导出到 excel:
#fake data
data_1<-data.frame(c(03,23,4,2))
data_2<-data.frame(c(0223,3,1,2))
data_3<-data.frame(c(0232,3,1,1))
data_4<-data.frame(c(21,23,5,6))
data_5<-data.frame(c(24,5,6,7))
#fake names
mydatasets<-c(data_1,data_2,data_3,data_4,data_5)
mytitles<-c("data1", "data2", "data3","data4", "data5")
#for loop to write out individual csv files
for (i in 1:5)) {
a <- mydatasets[i]
title<-mytitles[i]
myfile <- paste0(title, "_", ".csv")
write.csv(a, file = myfile)
}
如何使用上述代码将这些 csv 文件合并到一个 csv 文件或 excel 文件的多个选项卡中?
CSV 文件仅包含 1 个 sheet。另一种方法是写入 XLSX。函数 xlsx::write.xlsx
接受参数 sheetName
:
library(xlsx)
# Use data from the question
for (i in seq_along(mydatasets)) {
write.xlsx(x = mydatasets[i],
file = "myfile.xlsx",
sheetName = mytitles[i],
append = TRUE)
}
请注意 append = TRUE
以避免覆盖文件而不是向其附加 sheet。
xlsx
包依赖于 rJava
。第一次使用该软件包有时会引起麻烦 – 请参阅 this question 了解常见的解决方案。
我有多个数据框,我想将它们导出到 excel/csv 文件的不同选项卡中。我将把我的 15 个数据框分成三组,每组五个。这样,我将拥有三个 excel sheet 和五个不同的选项卡,而不是 15 个单独的 excel sheet。
要导出到 excel:
#fake data
data_1<-data.frame(c(03,23,4,2))
data_2<-data.frame(c(0223,3,1,2))
data_3<-data.frame(c(0232,3,1,1))
data_4<-data.frame(c(21,23,5,6))
data_5<-data.frame(c(24,5,6,7))
#fake names
mydatasets<-c(data_1,data_2,data_3,data_4,data_5)
mytitles<-c("data1", "data2", "data3","data4", "data5")
#for loop to write out individual csv files
for (i in 1:5)) {
a <- mydatasets[i]
title<-mytitles[i]
myfile <- paste0(title, "_", ".csv")
write.csv(a, file = myfile)
}
如何使用上述代码将这些 csv 文件合并到一个 csv 文件或 excel 文件的多个选项卡中?
CSV 文件仅包含 1 个 sheet。另一种方法是写入 XLSX。函数 xlsx::write.xlsx
接受参数 sheetName
:
library(xlsx)
# Use data from the question
for (i in seq_along(mydatasets)) {
write.xlsx(x = mydatasets[i],
file = "myfile.xlsx",
sheetName = mytitles[i],
append = TRUE)
}
请注意 append = TRUE
以避免覆盖文件而不是向其附加 sheet。
xlsx
包依赖于 rJava
。第一次使用该软件包有时会引起麻烦 – 请参阅 this question 了解常见的解决方案。