R脚本的当前路径

时间:2018-08-21 21:15:14

标签: r shiny

我正在尝试为一些工作人员提供一个闪亮的应用程序,但我不想为所有人手动更改工作目录。我曾计划使用rstudioapi函数getActiveDocumentContext(),但仅在应用程序是来自rstudio的午餐并且我使用R控制台时才有效,因为该应用程序部署有.bat文件(在此页面中进行了描述) http://rstudio-pubs-static.s3.amazonaws.com/3269_a6682dfda37e411fb5e0e6699495cdc4.html)。我在这里尝试了很多答案(Rscript: Determine path of the executing script),但是都没有用,而且大多数都无法理解,因此无法“修复主题”。

1 个答案:

答案 0 :(得分:1)

正如您所链接的SO问题所指出的那样,有很多解决方案,我最喜欢使用rprojroot(我认为这可能是最简单的)。使用简单的有光泽的test_app示例,您需要在运行它。R:

library(shiny)
library(rprojroot)
folder_address = dirname(thisfile())
runApp(folder_address, launch.browser=TRUE)

我在Mac上使用下面的启动脚本(test.command)对其进行了测试,并且可以在任何具有test_app文件夹的地方使用它:

#! /bin/bash

PWD="`dirname \"$0\"`"
cd "${PWD}"
Rscript "run.R"

在Windows计算机上,您需要在test.bat中指定Rscript.exe(或R.exe)的路径:

"C:\Program Files\R\R-3.5.1\bin\Rscript.exe" "run.R"