如何在R中仅列出特定文件?

3

我有成千上万个不同的文件(拥有相同的扩展名.img),它们位于一个名为data的文件夹中。如果我使用以下命令:

 dir<- list.files ("C:\\Users\\data", "*.img", full.names = TRUE)

它将列出我在文件夹 data 中拥有的所有文件。

我所需要的只是列出文件名为:

 File_yyyymmdd_data.img     (in which yyyymmdd varies for 10 years)

欢迎提出任何想法或提示!


使用pattern参数并配合适当的正则表达式,即更改第二个参数中的正则表达式。 - Roland
1
然后学习help("list.files") - Roland
1
你能展示一些实际的文件名案例吗?同时也可以展示一些不想要的案例。 - dimitris_ps
1个回答

6

试一下这个

files.new = list.files(directory.path, recursive = TRUE, pattern=".img")

其中,“directory.path”是包含需要读取的文件的目录路径


编辑后更加合适

files.new = list.files(directory.path, recursive = TRUE, pattern="File_[0-9]{8}_data[.]img$")

1
你的模式不是一个有效的正则表达式,它将匹配与你想象中不同的内容。 - Konrad Rudolph
不,这仍然是错误的。R会接受它,但会产生错误的结果。例如,您的模式将匹配文件名“trimgoose”,这可能不是预期的。 - Konrad Rudolph
1
pattern 参数应该类似于 "File_[0-9]{8}_data[.]img$" - nicola
执行 paste("path.of.the.directory", files.new, sep = "/") 命令 - Veerendra Gadekar
1
或者将目录及其文件放置在另一个目录中(比如“父目录”),并设置directory.path为指向父目录的路径。 - Veerendra Gadekar
我应该如何获取“文件夹”?它的模式应该是什么? - Mansi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接