【发布时间】:2019-09-04 00:58:40
【问题描述】:
基本 R 函数 list.files 列出给定路径中的所有文件。
默认
aa <- list.files(path = ".")
返回. 中所有内容的名称向量,例如:
[1] "dir1" "file1.R"
我只希望它返回"file1.R"。
一个笨拙的解决方案是如果我改为调用
bb <- list.files(path = ".", include.dirs = FALSE, recursive = TRUE)
我明白了
[1] "dir1/file2.R" "file1.R"
所以我可以通过调用得到我想要的东西
intersect(aa, bb)
[1] "file1.R"
但是当我觉得list.files 可能可以直接给我这个时,创建两个对象并将它们相交似乎很愚蠢,我只是不知道如何。
你知道吗?
【问题讨论】:
-
使用
pattern?list.files(pattern = "\\.R$") -
酷 - 如果所有文件都是 .R,则可以使用。也想知道是否有更通用的解决方案
-
stackoverflow.com/questions/22069095/… 我想这就是你想要的。
-
是的,对 - 很明显没有直接的方法来获取文件 ex dirs。古怪!
-
虽然我不同意它的古怪之处,但文档 (
?list.files) 明确指出include.dirs“它们始终处于非递归状态” 文件列表。
标签: r