r - R 脚本的当前路径
问题描述
我正在尝试为工作中的某些人提供一个闪亮的应用程序,但我不想为每个人手动更改工作目录。我曾计划使用该rstudioapi
功能getActiveDocumentContext()
,但它仅在应用程序是来自 rstudio 的午餐并且我正在使用 R 控制台时才有效,因为该应用程序是使用 .bat 文件部署的(在此页面http://rstudio-pubs-static 中进行了描述。 s3.amazonaws.com/3269_a6682dfda37e411fb5e0e6699495cdc4.html)。我在这里尝试了一堆答案(Rscript:确定执行脚本的路径),但都不起作用,而且大多数我不明白,所以我无法“修复主题”。
解决方案
正如您链接的 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"
推荐阅读
- node.js - 支持一个或两个或两个命令的 Docker 入口点脚本(即 npm config & npm run)
- javascript - HTML 单击 div 然后突出显示
- docker - 通过 docker-compose down 持久化卷的问题
- c# - 从另一个应用程序的文本框中获取文本和插入符号
- asp.net - 我怎样才能找回这个?
- sql-server - 使用外部数据包装器连接 MS SQL Server 和 PostgreSQL
- python - 赋值前引用的局部变量“form1”
- python - QT Designer for Python中的Unicode字符?
- c# - Service Fabric Mesh 中的 Actor 不工作 - 无法加载 DLL FabricRuntime.dll
- javascript - 为什么我会收到“TypeError:'__source' 的属性未定义:对象不可扩展。” IE11 出错?