将大型 shinydashboard 应用拆分成多个部分
Split big shinydashboard app into pieces
我对 shiny
和 shinydashboard
很陌生。我的第一个应用程序已经发展到一定规模,我想按照提示将其重构为多个部分 http://rstudio.github.io/shinydashboard/structure.html 此处:
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)
这应该是一个相当简单的任务。但是,我找不到任何关于如何将我的应用程序拆分为多个文件的示例,而且我不确定执行此操作的最佳方法是什么。
到目前为止我无法让它工作:我尝试在每个部分调用 source("myBody.R")
。
您可以在不同的文件中包含一些 UI 代码,然后将其包含在您的主 UI 和
中
source("file.R", local=TRUE)$value
你可以在这篇闪亮的文章上看到更多细节http://shiny.rstudio.com/articles/scoping.html
- 看看@Shape 在 中的策略。
server.R:
library(shiny)
source('sub_server_functions.R')
function(input, output, session) {
subServerFunction1(input, output, session)
subServerFunction2(input, output, session)
subServerFunction3(input, output, session)
}
其他想法是:
将您的数据调用和常量放在 global.R 中,您的 ui 和 [=42= 可以共享] 文件。看看http://shiny.rstudio.com/articles/scoping.html
查看 Shiny 的新模块方法。我仍在努力解决这个问题,但看起来很有希望合理化。见 http://shiny.rstudio.com/articles/modules.html
Flex 仪表板示例 .Rmd
文件在这之后看起来很薄!
---
title: "screenR"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r}
# include the module
source("screenrdata.R")
```
Charts
======
### Screening Scatter
```{r}
# call the module
xyUI("id1")
callModule(screenchart, "id1")
```
我对 shiny
和 shinydashboard
很陌生。我的第一个应用程序已经发展到一定规模,我想按照提示将其重构为多个部分 http://rstudio.github.io/shinydashboard/structure.html 此处:
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)
这应该是一个相当简单的任务。但是,我找不到任何关于如何将我的应用程序拆分为多个文件的示例,而且我不确定执行此操作的最佳方法是什么。
到目前为止我无法让它工作:我尝试在每个部分调用 source("myBody.R")
。
您可以在不同的文件中包含一些 UI 代码,然后将其包含在您的主 UI 和
中source("file.R", local=TRUE)$value
你可以在这篇闪亮的文章上看到更多细节http://shiny.rstudio.com/articles/scoping.html
- 看看@Shape 在 中的策略。
server.R:
library(shiny)
source('sub_server_functions.R')
function(input, output, session) {
subServerFunction1(input, output, session)
subServerFunction2(input, output, session)
subServerFunction3(input, output, session)
}
其他想法是:
将您的数据调用和常量放在 global.R 中,您的 ui 和 [=42= 可以共享] 文件。看看http://shiny.rstudio.com/articles/scoping.html
查看 Shiny 的新模块方法。我仍在努力解决这个问题,但看起来很有希望合理化。见 http://shiny.rstudio.com/articles/modules.html
Flex 仪表板示例 .Rmd
文件在这之后看起来很薄!
---
title: "screenR"
output: flexdashboard::flex_dashboard
runtime: shiny
---
```{r}
# include the module
source("screenrdata.R")
```
Charts
======
### Screening Scatter
```{r}
# call the module
xyUI("id1")
callModule(screenchart, "id1")
```