我在一个名为 some_functions.R 的文件中有一组函数,并保存在 C:\ blah1 \ blah2 \ Rcodes \ some_functions.R 的SVN目录中。我有几个使用此代码文件的Rproject。假设R项目在 C:\ blah1 \ blah2 \ Rprojects \ project1 目录中可用。我可以使用硬编码路径来引用文件,它可以工作。
source("C:/blah1/blah2/Rcodes/some_functions.R")'
但我想将路径设置为环境变量。
查看How to unfold user and environment variable in R language?和setting the home directory in windows R我在RProfile.site文件中添加以下行
Sys.setenv(R_CODE_PATH = "C:/blah1/blah2/Rcodes")
并在project1.Rnw文件中
source("R_CODE_PATH/some_functions.R")
但是项目文件无法读取some_functions.R文件。我尝试了%R_CODE_PATH%而没有任何运气。
不确定我在这里失踪了什么。任何帮助深表感谢。
答案 0 :(得分:1)
使用Sys.getenv()
检索环境变量。尝试:
r_code_path <- Sys.getenv("R_CODE_PATH")
然后,例如:
source(paste(r_code_path, "some_functions.R", sep = "/"))
我会使用.Renviron
配置文件来定义环境变量。将它放在R命令Sys.getenv("HOME")
返回的任何目录中,并包含如下行:
R_CODE_PATH=C:/blah1/blah2/Rcodes