为了账号安全,请及时绑定邮箱和手机立即绑定

确定执行脚本的路径

确定执行脚本的路径

慕田峪9158850 2019-07-02 16:16:00
确定执行脚本的路径我有一个叫foo.R其中包括另一个脚本other.R,它位于同一个目录中:#!/usr/bin/env Rscriptmessage("Hello")source("other.R")但我想R才能发现other.R不管当前的工作目录是什么。换句话说,foo.R需要知道它自己的路。我怎么能这么做?
查看完整描述

3 回答

?
交互式爱情

TA贡献1712条经验 获得超3个赞

这里这个问题有一个简单的解决办法。这个命令:

script.dir <- dirname(sys.frame(1)$ofile)

返回当前脚本文件的路径。脚本保存后,它就能工作了。


查看完整回答
反对 回复 2019-07-02
?
守着一只汪

TA贡献1872条经验 获得超3个赞

当从R控制台“源”时,我无法获得SuppressingFire的解决方案。
在使用Rscript时,我无法让Hadley的解决方案工作。

两个世界中最好的?

thisFile <- function() {
        cmdArgs <- commandArgs(trailingOnly = FALSE)
        needle <- "--file="
        match <- grep(needle, cmdArgs)
        if (length(match) > 0) {
                # Rscript
                return(normalizePath(sub(needle, "", cmdArgs[match])))
        } else {
                # 'source'd via R console
                return(normalizePath(sys.frames()[[1]]$ofile))
        }}


查看完整回答
反对 回复 2019-07-02
  • 3 回答
  • 0 关注
  • 799 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信