我对shiny
和shinydashboard
都很陌生。我的第一个应用程序已经发展到我希望将其重构为片段的大小,如此处暗示http://rstudio.github.io/shinydashboard/structure.html:
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody()
)
这应该是一项相当简单的任务。但是,我找不到任何关于如何将我的应用程序拆分成多个文件的示例,我不确定这样做的最佳方法是什么。
到目前为止我无法工作:我尝试在每个部分内调用source("myBody.R")
。
答案 0 :(得分:3)
您可以在其他文件中包含一些UI代码,然后使用
将其包含在主UI中source("file.R", local=TRUE)$value
上看到更多详情
答案 1 :(得分:1)
<强> 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和server.R文件共享。查看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")
```