Как ссылаться на файлы в R studio для разработки локальных приложений Shiny без изменения рабочего каталога - PullRequest
0 голосов
/ 09 октября 2018

Я довольно новичок в 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, и это вызовет локально разработанную веб-страницу.

1 Ответ

0 голосов
/ 09 октября 2018

Shiny Server должен запускать приложение из каталога, в котором находятся файлы server.R и ui.R, поэтому относительные пути должны просто работать.Я думаю, что совет по изменению вашего пути имеет смысл.

...