Я довольно новичок в 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
и ссылаться на CSV в каталоге Data
.Я считаю, что в конечном итоге я хочу source
этот сценарий в сценарии сервера / пользовательского интерфейса, чтобы я мог его использовать.
Мой рабочий каталог в настоящее время выглядит как /Users/kmyers
, и самый близкий совет, который я могу найти, это , где люди говорят другим людям просто изменить свой рабочий каталог в RStudio .Но я не думаю, что это достаточно надежно, если я потом перенесу его на удаленный сервер, мне нужно будет менять эту строку каждый раз, когда я нажимаю, чтобы она могла адаптироваться к блестящему серверу, и это неМне кажется, это не лучший способ справиться с этим.
Я более свободно говорю на python и знаю, что в Python я бы сделал ссылку на текущий каталог, в котором находится скрипт, и простосоздайте относительный путь на основе этого:
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
Есть ли способ сделать что-то подобное в R?
PS Я не собираюсь разрабатывать в своем собственном локальном srv/shiny-server
, поскольку это кажется излишним для разработки, так как я могу просто нажать Run-App
в Rstudio, и это вызовет локально разработанную веб-страницу.