我想开发一堆Shiny应用程序,每个应用程序都在处理(和编辑)同一组数据。这是否可行,如果是,那该项目应该如何构建?
1个闪亮的应用
2+闪亮的应用
有没有办法引用数据的其他位置,或以这种方式在根文件夹中存储应用程序:
每个应用使用位于数据文件夹中的数据。 对于每个应用程序,ui.R,server.R和global.R都存储在'app_i'文件夹中。
据我所知,ui.R,server.R和global.R应始终位于项目的根目录,这使得无法在同一数据集上使用多个应用程序。
提前感谢您对此的看法,以及分享最佳做法。
此致
答案 0 :(得分:6)
ui.R
,server.R
和global.R
必须位于您应用的根目录中,但其中任何一个都可以访问根目录以外的文件。你在这里几乎没有选择:
访问文件时使用数据目录的绝对路径
DATA_PATH <- "/path/to/data/"
使用相对路径
DATA_PATH <- file.path(getwd(), "../data/")
使用符号链接
.
├── app1
│ ├── data -> /path/to/data
│ ├── server.R
│ └── ui.R
├── app2
│ ├── data -> /path/to/data
│ ├── server.R
│ └── ui.R
├── app3
│ ├── data -> /path/to/data
│ ├── server.R
│ └── ui.R
└── data
├── bar.csv
└── foo.csv
对于只读数据集,您可以创建仅数据包using standard R tools