前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何将多份数据保存在一个excel中?

如何将多份数据保存在一个excel中?

作者头像
庄闪闪
发布2021-04-09 11:28:04
1.5K0
发布2021-04-09 11:28:04
举报
文章被收录于专栏:庄闪闪的R语言手册

简介

这是我在数值模拟时,经常存在的问题。

如果输出了非常多的表格(例如,Rmse,Rb,Cp等),我应该怎么把这么多表进行导出?

最傻的方法:一个个导出呗,导到不同的excel表格中。但是问题来了,我要模拟10组参数,每个参数有5个表格,这样做的话会产生50个表格!这多让人头大。

较聪明的方法:使用openxlsx包(或者其他类似包),将每一组参数模拟结果放到一个excel中,其中各个表格依次放到单独的sheet中,这样最后只会生成10个表格啦。

使用教程

导出

write.xlsx() 保存多个 sheet 的数据在一个 excel 中。注意需要下载包 openxlsx

代码语言:javascript
复制
#下载包
install.packages("openxlsx")
#加载包
library(openxlsx)
# 整理数据
sheets = list("LEN"=round(len1/mc,3),"COV"=round(cov1/mc,3),
"RB"=round(rb1/mc,3),"RMSE"=round(rmse1/mc,3),
"MUSIG"=round(musig1/mc,3))
# 导出表
write.xlsx(sheets,"mu3n500.xlsx",colNames = TRUE,rowNames = TRUE)

代码讲解: 这里创建了一个列表变量sheets,第一个sheet名叫"LEN",数据为round(len1/mc,3)。以此类推,其他数据表按同样操作进行。最后通过write.xlsx() 将该变量进行保存。

注意:配合使用getwd()setwd(),设定自己想要保存的目录。

结果展示

最后找到该文件,小编这里得到的表格如下所示:包含了6个sheets,每个sheet指某个评价标准或者是参数信息。

结果展示

其他方法

前面的方法是我用的比较多的,为了看问题更加全面我还特地搜了一下,看看有没有其他方法。在stackoverflow[1]中发现还有以下几种方法可供选择。

方法一

可以使用xlsx包存储多个工作表。每个数据框使用不同的sheetName,然后使用参数append=TRUE将两个表放在同一个表格中。

代码语言:javascript
复制
library(xlsx)
write.xlsx(dataframe1, file="filename.xlsx", sheetName="sheet1", row.names=FALSE)
write.xlsx(dataframe2, file="filename.xlsx", sheetName="sheet2", append=TRUE, row.names=FALSE)

方法二

另一种方法是:你可以控制格式和数据放置位置,最后保存到sheet中。例如:

代码语言:javascript
复制
wb = createWorkbook()
sheet = createSheet(wb, "Sheet 1")

addDataFrame(dataframe1, sheet=sheet, startColumn=1, row.names=FALSE)
addDataFrame(dataframe2, sheet=sheet, startColumn=10, row.names=FALSE)

sheet = createSheet(wb, "Sheet 2")
addDataFrame(dataframe3, sheet=sheet, startColumn=1, row.names=FALSE)
saveWorkbook(wb, "My_File.xlsx")

这种方法可以说更加有效,可以将多个表放到同一个sheet中的任何位置,有兴趣的朋友可以试试。

可探索

在模拟试验的时候如果代码太乱,可以查阅:R问题|代码太乱了,谁帮我整理下?

如果想要人提醒你,数据跑完啦,可以查阅:程序结束后记得提醒我

最后想将结果制作成幻灯片,可以查阅:R沟通|用xaringan包制作幻灯片

R沟通|在Rstudio中运行tex文件 R沟通|舍弃Latex,拥抱Rbeamer吧!

参考资料

[1]

stackoverflow: https://stackoverflow.com/questions/27713310/easy-way-to-export-multiple-data-frame-to-multiple-excel-worksheets

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 庄闪闪的R语言手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 使用教程
    • 导出
      • 结果展示
      • 其他方法
        • 方法一
          • 方法二
          • 可探索
            • 参考资料
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档