在 R 中使用 Excel 文件

sal*_*hin 4 excel r

每次在R中处理excel文件时我仍然很痛苦。

执行以下操作的最佳方法是什么?

1-在R中导入excel作为“整个工作簿”并能够在工作簿中的任何工作表中进行分析?如果您考虑使用XLConnect,请记住 Java 的“内存不足”问题。我有超过 30MB 的文件,每次处理 Java 内存问题都会消耗更多时间。(跑步-Xmx对我来说不起作用)。

2- 不要错过任何 Excel 工作表中的任何数据?将文件保存到csv表示某些工作表“超出范围”,即 65,536 行和 256 列。它也不能处理某些公式。

3- 不必单独导入每个工作表?将工作表导入 SPSS、STATA 或 Eviews 并将其保存到它们的扩展中,然后在 R 中处理输出文件在大多数情况下都可以正常工作。然而,这种方法有两个主要问题;一是您必须将软件下载到计算机上,二是它一次只能导入一张纸。如果我有超过30张,就会变得非常耗时。

这可能是一个持续存在的问题,已经被回答了很多次,但是,每个答案都解决了问题的一部分,而不是整个问题。这就像放火烧而不是从战略上解决问题一样。

我使用的是 Mac OS 10.10 和 R 3.1.1

Rom*_*ain 5

我尝试了几个打开Excel的包,openxlsx绝对是最好的路线。它比其他的更快、更稳定。该函数是:openxlsx::read.xlsx。我的建议是使用它来读取整个工作表,然后在 R 中处理数据,而不是多次读取工作表的部分内容。我经常用它来打开 1000 行以上的大型 Excel 文件(8000 col 以上),而且它总是运行良好。我使用 xlsx 包在 excel 中写入,但它有许多内存问题需要读取(这就是我转向 openxlsx 的原因)

-添加 顺便说一句,如果您想在 Excel 中使用 R,有时需要从 R 执行 VBA 代码。我发现该过程很难实现。我在堆栈中的上一个问题中完整记录了执行此操作的正确方法:Apply VBA from R