我知道我可以从R中的完整文件路径中找到文件名,但是有没有办法从文件名中定义文件的路径?想想这样的场景:你将数据文件存储在云端(例如Dropbox),所以这个文件的路径在你的家里略有不同: read.table("path/user1/data.dat")并且工作:read.table("path/user2/data.dat").因此,每次您需要read.table()更改路径的一个元素以匹配您的工作路径或主路径(在Mac OS X上,它特别User是您需要更改的路径的一部分).我想知道是否可以让R自动检测路径中的这种变化(例如不同User)或仅从该文件的名称检测文件的路径.
您可以使用访问环境变量Sys.getenv().
以下是我机器上结果的简短摘录:
Sys.getenv()
...
USERNAME
"Andrie"
USERPROFILE
"C:\\Users\\Andrie"
windir
"C:\\Windows"
Run Code Online (Sandbox Code Playgroud)
您可以通过在调用中包含该元素的名称来提取单个元素:
> Sys.getenv("USERNAME")
[1] "Andrie"
Run Code Online (Sandbox Code Playgroud)
如果您可以在这些变量中准确识别出您需要的内容,则可以使用构建文件路径 file.path
有关环境变量以及某些特定于系统的异常的详细信息,请参阅 ?Sys.getenv