比如列出当前工作目录下的所有文件
list.files(getwd())
[1] “1.pdf” “10plots.pdf”
[3] “140408696.txt” “1plots.pdf”
[5] “2plots.pdf” “3plots.pdf”
还可以设置正则表达式来过滤文件
列出当前工作目录下所有的R语言源代码文件
list.files(getwd(),pattern = '*.[R|r]$’)
[1] “Ask.R” “gg.R”
注意不要使用这种目录格式: list.files("G:\bxwx9\01\utf\dd\1"),pattern = '*.[R|r]$’)
应该使用 list.files("G:/bxwx9/01/utf/dd\1"),pattern = '*.[R|r]$’)
--------------------
1 list.files(path)
仅仅返回文件路径下的所有文件名,不是绝对路径。
file1.txt
file2.pdf
2 Sys.glob(paste(path,"*.txt",sep=' '))
返回文件路径下的所有txt文件。
/picb/...../file1.txt
----------------------------
循环读取相似文件名的文件:
2017年12月01日 13:11:09
阅读数:457
比如data1.csv, data2.csv,data3.csv,...,data100.csv
方法一:Sys.glob() 函数:
datafiles<-lapply(Sys.glob("data*.csv"),read.csv) #文件全部被读取出来了
*即可以表示什么都没有,也可以表示任何字符串。
方法二:list.files()函数:
myfiles <- list.files(pattern = "data*.csv")
然后可以在myfiles的基础上进行循环
比如data_all <- lapply( myfiles, read.csv)
来源网址:https://stackoverflow.com/questions/5758084/loop-in-r-loading-files
方法三:现在最常用的是,myfiles0 <- Sys.glob("data*.csv")
这样返回的myfiles0是一个装满满足条件的文件名的集合,而没有读取这些文件。
联系客服