美文网首页Cook RR语言
「R基础」如何将数据框保存成Excel的xlsx格式

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

作者: xuzhougeng | 来源:发表于2019-01-22 19:43 被阅读171次

    尽管我不怎么使用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格式

        本文链接:https://www.haomeiwen.com/subject/dnprjqtx.html