R中的多个工作目录

mat*_*teo 2 r working-directory hierarchical

我写了一个不同的函数和脚本的列表,我把它们放在工作目录的一些子文件夹中,这样我就可以将所有函数划分为参数(描述性统计,地统计,回归......)

当我输入source("function_in_subfolder")时,R告诉我没有功能.我明白这是因为函数必须保留在工作目录中.有没有办法将工作目录的子文件夹设置为函数的源(让我们说以分层方式)?

krl*_*mlr 5

source函数有一个chdir参数,如果设置为TRUE,则将工作目录设置为脚本所在的目录.新工作目录在脚本执行期间有效,之后会更改回来.承担以下结构

main.R
one/
  script.R
  two/
    subscript.R
Run Code Online (Sandbox Code Playgroud)

你可以打电话source("one/script.R", chdir=T)main.R和中script.R,调用source("two/subscript.R", chdir=T).

但是,默认情况下,R将从当前目录开始搜索.没有诸如"搜索路径列表"之类的东西,例如PATH环境变量,尽管显然有人试图创建这样的东西.我强烈建议不要试图"随处"找到一个脚本文件.相反,请准确指出要在哪个位置运行哪个脚本.否则,简单地将文件添加到脚本中导致的名称冲突可能导致不可预测的行为,这也很难调试.