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

2022-09-21 16:41:31 浏览数 (1)

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

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

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

代码语言:javascript复制
list.files(path = ".")

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

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

代码语言:javascript复制
list.files(path = ".",all.files = TRUE)

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

代码语言:javascript复制
list.files(path = ".",full.names = TRUE)

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

代码语言:javascript复制
#输出所有以png为后缀额文件名
list.files(path = ".",pattern = "png$")

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

代码语言:javascript复制
#首先获取当前文件夹下面所有文件的名字
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函数

0 人点赞