r语言导出文件为xlxs_【R包荟萃】Excel文件的批量导入与导出:openxlsx包实用技巧...

点击蓝字

关注我们

R是一个自由、免费、源代码开放的软件,主要用于统计分析计算和统计制图,其多样化的功能主要依赖于R包,本专栏将为大家介绍实用的R包工具,为大家详解包的操作,方便大家进行R语言的学习与实践。本期主要为大家介绍导入和导出excel文件的工具:openxlsx包,以及批量导入导出文件的一些小技巧。

在之前的推送中我们为大家介绍了Excel文件的导入与导出

【R语言学习6】R数据导入与导出方法简介

,今天主要为大家介绍openxlsx包具体的使用方法。

首先是包的安装与加载,目前该包已经在CRAN平台收录,因此可以参考我们之前分享的方法

【R语言学习3】R语言程序包来源与使用方法简介

进行安装

install.packages("openxlsx")library("openxlsx")

>

>

>

>

导出excel文件

导出excel文件使用的是write.xlsx函数,通过介绍我们可以看到该函数主要是将数据框导出为xlsx文件,同时由于excel可存在多个sheet,该函数也支持导出a list of data.frames。

因此命令如下:

可以看到最后导出的excel存在IRIS和MTCARS两个sheet

>

>

>

>

导入excel文件

文件的导入是使用read.xlsx函数,使用的方法也非常简单,主要设置excel的文件位置以及sheet名称或顺序(如果存在多个sheet)

比如导入我们刚刚创建的excel文件中的第一个sheet,则命令为

iris

>

>

>

>

批量导入excel文件中的多个sheet

上述命令只能导入excel的一个sheet,在实际过程中可能需要一次性导入多个sheet,则可以使用循环函数实现:

data.list 

>

>

>

>

批量导入多个excel文件

有时需要将目录下的多个文件一次性导入R中,则可以使用如下命令实现,但是需注意的是该命令只支持每个excel只有一个sheet

myexcelfile = list.files(pattern="*.xlsx")   # list.files函数中用正则表达式匹配文件名的一个选项list2env(lapply(setNames(myexcelfile, make.names(gsub("*.xlsx$", "", myexcelfile))),read.xlsx), envir = .GlobalEnv) #匹配以.xlsx结尾的文件名,将其替换为空,也就是去掉.xlsx,只留文件名作为变量名

>

>

>

>

批量导入多个txt或者excel文件

同理我们可以利用该命令批量导入csv或者txt文档

mytxtfile = list.files(pattern="*.txt") # 生成.txt文件的列表list2env(lapply(setNames(mytxtfile, make.names(gsub("*.txt$", "", mytxtfile))),read.table,header=TRUE,sep="\t"), envir = .GlobalEnv)mycsvfile = list.files(pattern="*.csv") # 生成.csv文件的列表list2env(lapply(setNames(mycsvfile, make.names(gsub("*.csv$", "", mycsvfile))),read.csv,header=TRUE,check.names=FALSE), envir = .GlobalEnv)

*部分代码参考安静不安静的博客

更多精彩内容,在我的千聊直播间《R语言基础入门》,点击阅读全文直达 ~

如果还有不明白的地方,欢迎后台咨询,医科堂一定会竭尽全力给你满意的答复。欢迎微信搜索medclass关注我们!

你可能感兴趣的:(r语言导出文件为xlxs)