确定当前文件在R中的位置以包含来自同一目录的文件?

Dol*_*cci 10 filesystems r system

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

> getwd()
[1] "/Users/myser"
> source("/Users/myuser/workspace/myproject/myfile.r")
Run Code Online (Sandbox Code Playgroud)

在/ Users/myuser/workspace/myproject里面,会有myfile.r和my-utils.r.myfile.r source('my-utils.r')从中调用.

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

cur_dir <- sys.get_current_file_path()
source(file.path(cur_dir, "my-utils.r"))
Run Code Online (Sandbox Code Playgroud)

App*_*eue 11

source("/Users/myuser/workspace/myproject/my-utils.r", chdir=TRUE)
Run Code Online (Sandbox Code Playgroud)

chdiroption设置为true且源文件参数是完整路径时,文件目录将在获取文件时用作工作目录.

注意:cur_dir <- sys.get_current_file_path()没有多大意义,因为路径名不是唯一的.

  • 这根本不是解决方案.关键是要避免在代码中加入"/ Users/myuser/workspace/myproject". (3认同)
  • OP的重点在于示例中的"R是否有类似的东西?示例:"简单的答案是:R不能这样做. (2认同)