我有一个脚本(调用它Main.R),它具有以下代码,以便在运行时找到它自己:
frame_files <- lapply(sys.frames(), function(x) x$ofile)
frame_files <- Filter(Negate(is.null), frame_files)
main.dir <- dirname(dirname(frame_files[[length(frame_files)]]))
Run Code Online (Sandbox Code Playgroud)
这用于获取其自己的目录上方的目录main.dir,该目录用于调用与此路径相关的其他脚本.
例如,我对从命令行运行此脚本感兴趣
R CMD BATCH Main.R
Run Code Online (Sandbox Code Playgroud)
要么
Rscript Main.R
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我从命令行调用脚本时,上面的命令不起作用.
我可以输入任何代码或者我可以使用Main.R的呼叫选项吗?RRscript
更具体地说,该解决方案需要在Windows中运行.