如何在R Studio中参考文件以进行本地Shiny应用程序开发而无需更改工作目录

时间:2018-10-09 17:43:23

标签: r shiny rstudio

我对R,Rstudio和Shiny还是很陌生,所以我将尽我所能描述我的问题,我想做的事情以及为什么要这样做。

我试图在Rstudio中本地开发一个闪亮的应用程序,然后最终将其推入远程服务器的生产环境。我的本地文件系统位于/Users/kmyers/path/to/project,而我相信远程项目位于/srv/shiny-server的闪亮服务器上。在我的本地项目中,我有以下文件:

Project
├── Data
│   └── external
│       └── file.csv
├── other_script.R
├── server.R
└── ui.R

现在,我要做的是在other_script.R中开发我的工作,并在Data目录中引用CSV。我相信,我最终希望将该脚本source放入服务器/ ui脚本中,以便我可以使用它。

我的工作目录当前似乎是/Users/kmyers,而我能找到的最接近的建议是where people tell other people to just change their working directory in RStudio。但是我认为如果以后将其推送到远程服务器,这还不够强大,那么每次推送时我都需要更改该行,以使其能够适应闪亮的服务器,但是似乎不是解决该问题的最佳方法。

我更精通python,我知道在python中执行此操作的方式将是引用脚本所在的当前目录,然后基于该目录创建相对路径:

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))

有没有办法在R中做类似的事情?

P.S。我不希望在自己的本地srv/shiny-server中进行开发,因为这似乎对开发是过分的,因为我可以在Rstudio中点击Run-App并打开本地开发的网页。

1 个答案:

答案 0 :(得分:1)

Shiny Server应该从server.Rui.R文件所在的目录运行该应用程序,因此相对路径应该可以正常工作。我认为在本地更改路径的建议很有意义。