首页 > 解决方案 > R 脚本的当前路径

问题描述

我正在尝试为工作中的某些人提供一个闪亮的应用程序,但我不想为每个人手动更改工作目录。我曾计划使用该rstudioapi功能getActiveDocumentContext(),但它仅在应用程序是来自 rstudio 的午餐并且我正在使用 R 控制台时才有效,因为该应用程序是使用 .bat 文件部署的(在此页面http://rstudio-pubs-static 中进行了描述。 s3.amazonaws.com/3269_a6682dfda37e411fb5e0e6699495cdc4.html)。我在这里尝试了一堆答案(Rscript:确定执行脚本的路径),但都不起作用,而且大多数我不明白,所以我无法“修复主题”。

标签: rshiny

解决方案


正如您链接的 SO 问题所表明的那样,有很多解决方案,我最喜欢使用的是rprojroot(我认为这可能是最简单的)。使用简单闪亮的 test_app 示例,您需要在 run.R 中包含它:

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

我在 Mac 上使用test.command下面的启动脚本(

#! /bin/bash

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

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

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

推荐阅读