如何通过将输出添加到函数来防止重写闪亮的块?

时间:2019-03-11 19:59:35

标签: r shiny

我的闪亮应用程序本质上会基于所选的selectInput生成多个标题和图表。但是,由于代码是非常重复的,所以我设法使用函数将每个绘图的主要组件简化为4个函数。我想更进一步,从一个函数中调用这四个函数。

我简化为的四个函数以及生成输出的代码是:

panel1Data <- reactive({
  panelData(1)
})

output$panel1header <- renderUI({
  panelHeader(1)
})

output$panel1definition <- renderUI({
  panelDefinition(1)
})

output$panel1plot <- renderPlot({
  panelPlot(panel1Data(), 1)  
}) 

我试图将其进一步简化为一行:

panel1Data <- reactive({
    panelData(1)
})

panels <- function(data, header, definition, plot, number){

header <- renderUI({
  panelHeader(number)
})

output$definition <- renderUI({
  panelDefinition(number)
})

output$plot <- renderPlot({
  panelPlot(data, number)  
}) 
}    

panels(panel1Data(), output$panel1header, output$panel1definition, output$panel1plot, 1)

但是,这不会生成输出。我猜这是因为函数不仅是简单的文本替换,而且任何帮助将不胜感激。

0 个答案:

没有答案