「R基础」如何将数据框保存成Excel的xlsx格式

尽管我不怎么使用Excel,处理数据大多数是依赖R语言,但是这是我个人的喜好,不能要求别人也学会用R语言,所以在交流的时候还得用Excel。

将R语言的数据框(data.frame)输出成Excel需要的格式其实也不难,我提供几种解决方案。

最简单的方法就是用write.csvwrite.table将结果保存为csv格式,一般而言大部分Windows电脑都会用Excel打开csv格式。

如果对方不知道什么叫做csv格式,那么在用write.csvwrite.table保存文件的时候,记得将文件后缀改为".xls"或`".xlsx"。

上面的解决方案还存在一个小问题,就是对方如果对csv更改之后不另存为真正的Excel格式,那么重新打开的时候,格式就会乱掉,所以终极的解决方案就是用R包xlsx

安装方法如下:

首先你需要先从https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载64位的JAVA

JDK

为什么是下载JDK?因为如果你直接搜索java环境安装的话,十有八九会被导航到32位java环境的下载点,然后你就蒙了。明明自己装了JAVA,后面还是报错。

安装完成之后,要增加一个环境变量JAVA_HOME

环境变量JAVA_HOME

在R里面用Sys.getenv("JAVA_HOME")确认有输出后,最后安装R包

install.packages("xlsx")

使用的话就非常容易了,记得设置append=TRUE,这样子就能在一张Excel表格插入多个sheet了。

data("mtcars")
data("iris")

library(xlsx)
write.xlsx(mtcars, "../Desktop/test.xls",
         sheetName = "mtcars", append = TRUE)
write.xlsx(iris, "../Desktop/test.xls",
         sheetName = "iris",append = TRUE)
write.xlsx(iris, "../Desktop/test.xls",
         sheetName = "iris2",append = TRUE)

write.xlsx(iris, "../Desktop/test.xls",
         sheetName = "iris3",append = TRUE)
write.xlsx(iris, "../Desktop/test.xls",
         sheetName = "iris4",append = TRUE)

吐槽,Excel会自作主张将2/3这种转换成日期,无力吐槽,所以保存之后记得检查。

你可能感兴趣的:(「R基础」如何将数据框保存成Excel的xlsx格式)