zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【R语言】文件和文件夹操作

文件语言 操作 文件夹
2023-06-13 09:13:02 时间

做数据分析的时候我们经常会处理一个文件夹里面的文件,今天我们就来聊聊R的文件夹处理函数list.files。下面是这个函数的说明和使用方法

我们结合一个具体的例子来看看这个函数的使用方法。假设我们在top10_pathway这个文件夹里面有32个文件,10个是xml文件,20个是png图片,还有两个以.开头的文件,.RData和.Rhistory

我们先把R的当前工作路径修改到top10_pathway里面,然后

list.files(path = ".")

这样就能显示这个文件夹下面除了.开头的所有的文件

如果想显示文件夹下面所有的文件,包括以.开头的文件,可以设置all.files = TRUE

list.files(path = ".",all.files = TRUE)

如果想显示文件的名字+相对路径,可以设置full.names = TRUE

list.files(path = ".",full.names = TRUE)

如果只关注png文件可以使用模式匹配,也就是我们前面提到过的☞正则表达式

#输出所有以png为后缀额文件名
list.files(path = ".",pattern = "png$")

如果我们只想保留以pathview.png为后缀的文件,我们可以结合list.filesfile.remove这两个函数,以及前面讲到过的☞讨论学习R的grepl函数,来实现

#首先获取当前文件夹下面所有文件的名字
files=list.files(".",all.files = T)
#通过grepl来匹配pathview.png结尾的文件
#!取反,就是要删除的文件
rm=!grepl("pathview.png$",files)
#通过file.remove删除不需要的文件
file.remove(files[rm])

最后就只剩10个以pathview.png结尾的文件了

参考资料:

  1. 正则表达式
  2. 讨论学习R的grepl函数