示例数据
当然,问题答案中提到的有关样本数据的所有指南“如何制作一个出色的 R 可重现示例”在创建与以下内容相关的问题时也保持不变Shiny
。总结一下:确保运行代码不需要额外的文件。使用示例数据集,例如mtcars
,或者创建一些示例数据data.frame()
。如果您的数据非常复杂并且确实需要这种复杂性来说明问题,您也可以使用dput()
。避免使用类似的函数read.csv()
,当然,除非您有与函数相关的问题,例如fileInput
.
示例代码
始终将代码减少到最低限度,以重现错误或意外行为。这包括删除对其他.CSS
文件和.js
文件并删除不必要的功能ui
和server
.
闪亮的应用程序通常由两个或三个文件组成(ui.R
, server.R
并且可能global.R
), 例如这个演示应用程序。但是,最好将代码作为单个脚本发布,这样其他人就可以轻松运行它,而无需手动创建这些文件。这可以通过以下方式轻松完成:
- 包装你的用户界面
ui <- fluidPage(…)
,
- 服务器与
server <- function(input,output, session) {…}
,
- 然后调用
shinyApp(ui, server)
.
因此,一个简单的框架可以如下所示:
library(shiny)
ui <- fluidPage(
)
server <- function(input,output,session) {
}
shinyApp(ui, server)
工作示例
因此,考虑到上述所有因素,一个优秀的 Shiny 应用程序的最小、完整和可验证示例可能如下所示:
library(shiny)
df <- data.frame(id = letters[1:10], value = seq(1,10))
ui <- fluidPage(
sliderInput('nrow', 'Number of rows', min = 1, max = 10, value = 5),
dataTableOutput('my_table')
)
server <- function(input, output, session) {
output$my_table <- renderDataTable({
df[1:input$nrow,]
})
}
shinyApp(ui, server)
添加 CSS
有多种方法可以将自定义 CSS 添加到 Shiny 应用程序,如所解释的here。在可重现示例中将 CSS 添加到 Shiny 应用程序的首选方法是在代码中添加 CSS,而不是在单独的文件中。这可以通过在ui
一个应用程序,例如如下:
tags$head(tags$style(HTML('body {background-color: lightblue;}'))),