R语言入门——批量读取文件

目录

  • 引言
  • 1、数据名称
    • 1.1有规律的文件名
    • 1.2无规律的
  • 2、相对路径
  • 3、完整代码例子
  • 总结

引言

在R语言入门——数据快速读取与查看(含实例代码和参数讲解)中介绍了几种R语言读取外部数据的函数和方法。但是在日常的学习或者工作中经常会遇到批量读取数据进行整合。为了提高大家的工作效率,今天介绍R语言中进行批量读取数据的技术。并最终给出主要的代码。

1、数据名称

1.1有规律的文件名

如:
1、data1、data2... ... datan
2、A、B、C、D ... ...
等等。我们可以借助paste0pasterepseq函数去生成。
例如:

paste0("data", 1:50)
 [1] "data1"  "data2"  "data3"  "data4"  "data5"  "data6"  "data7"  "data8" 
 [9] "data9"  "data10" "data11" "data12" "data13" "data14" "data15" "data16"
[17] "data17" "data18" "data19" "data20" "data21" "data22" "data23" "data24"
[25] "data25" "data26" "data27" "data28" "data29" "data30" "data31" "data32"
[33] "data33" "data34" "data35" "data36" "data37" "data38" "data39" "data40"
[41] "data41" "data42" "data43" "data44" "data45" "data46" "data47" "data48"
[49] "data49" "data50"

1.2无规律的

这时候就需要额外的工具了。具体资源给到大家:
1、获取当前文件夹的所有文件名.bat
相同的资源考虑到有的人没有积分发了一份不用积分下载的版本。
2、获取当前文件夹的文件名.rar

2、相对路径

在读取数据的时候为了保证程序的可复现性,我们最好使用相对路径。
比如:

".\\data\\Data1.csv"

读取当前文件夹data文件中的Data1.csv中的数据。

3、完整代码例子

以批量读取excel为例。

# install.packages("readxl")
library(readxl)  # 载入读取excel的包
# 名称读取
Mname <- read.table("name.txt")[,1]  # 本文1.2获取的文件名
m <- length(Mname)  # 本文1.2获取的文件名长度

# 数据合并
Data <- c()
for(k in 1:m){
     
    tmp <- read_excel(paste0(".\\", Mname[k]), sheet = "数据段1")
    Data <- rbind(Data, tmp)
}
write.table(Data, "数据.txt", sep = "\t", append = T, row.names = F)

总结

最后希望可以帮助大家学习使用R语言。水平有限发现错误还望及时评论区指正,您的意见和批评是我不断前进的动力。

你可能感兴趣的:(R语言入门,批量读取文件,R语言)