我对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
并打开本地开发的网页。
答案 0 :(得分:1)
Shiny Server应该从server.R
和ui.R
文件所在的目录运行该应用程序,因此相对路径应该可以正常工作。我认为在本地更改路径的建议很有意义。