有没有办法在我不知道完整文件名的情况下将文件读入 R。就像是。
read.csv("abc_*")
在这种情况下,我不知道完整的文件名之后abc_
如果您只有一个文件符合您的条件,您可以这样做:
read.csv(dir(pattern='^abc_')[1])
如果有多个文件,这种方法只会使用第一个命中。在更详细的版本中,您可以遍历所有匹配项并将它们附加到一个数据帧或类似的东西。
请注意,该模式使用正则表达式,因此与您的预期有些不同(以及我在第一次回答问题时错误地假设的情况)。详细信息可以使用?regex
如果您有要提交的目录,则必须相应地修改dir
命令:
read.csv(dir('path/to/your/file', full.names=T, pattern="^abc"))
在您的情况下,提交的路径可能是c:\\users\\user\\desktop
,然后是上述模式。full.names=T
强制dir()
输出整个路径而不仅仅是文件名。尝试在dir(...)
没有 的情况下运行read.csv
以了解那里发生了什么。
如果你想把你的路径作为一个完整的字符串,它又会变得有点复杂:
filepath <- 'path/to/your/file/abc_'
read.csv(dir(dirname(filepath), full.names=T, pattern=paste("^", basename(filepath), sep='')))
如果您的文件名包含任何正则表达式关键字,该过程将失败。您必须先用相应的转义序列替换它们。但这又是另一个话题了。