确定当前文件';s在R中的位置是否包含来自同一目录的文件?

确定当前文件';s在R中的位置是否包含来自同一目录的文件?,r,filesystems,system,R,Filesystems,System,我希望能够source()在同一目录中包含不同文件的文件,但我不希望在运行此文件之前必须从R提示符设置工作目录: > getwd() [1] "/Users/myser" > source("/Users/myuser/workspace/myproject/myfile.r") 在/Users/myuser/workspace/myproject中,将有myfile.r和myutils.r。myfile.r从其中调用source('my-utils.r') 其他编程语言可以确定当

我希望能够
source()
在同一目录中包含不同文件的文件,但我不希望在运行此文件之前必须从R提示符设置工作目录:

> getwd()
[1] "/Users/myser"
> source("/Users/myuser/workspace/myproject/myfile.r")
在/Users/myuser/workspace/myproject中,将有myfile.r和myutils.r。myfile.r从其中调用
source('my-utils.r')

其他编程语言可以确定当前文件的路径。R有类似的东西吗?例如:

cur_dir <- sys.get_current_file_path()
source(file.path(cur_dir, "my-utils.r"))
当前目录 当
chdir
选项设置为true且源文件参数为完整路径时,文件目录将用作源文件时的工作目录


注意:
cur\u dir比my快30秒。。。回答得好。@学徒-我的函数名可能选择得不好。我的意思是类似Python代码的东西:os.path.realpath(__文件__)此代码/解决方案的问题是,它将调用
source
的功能与该特定目录中存在的调用绑定在一起。最好有一个不依赖于此的解决方案,例如通过dolan使用其受python启发的伪示例所采用的方法可以实现的解决方案。如果我遗漏了什么,请纠正我。这根本不是一个解决方案。这一点是为了避免将“/Users/myuser/workspace/myproject”放在代码中。OP的要点是下面的示例“R有类似的东西吗?”示例:“简单的答案是:R做不到。
source("/Users/myuser/workspace/myproject/my-utils.r", chdir=TRUE)