R中闪亮的应用程序中的tabpanel

用户3922546

我被要求做一个简单的闪亮应用程序。我有以下代码:

library(shiny)

ui <- fluidPage(

  tabsetPanel(
    tabPanel(title = "Central Limit Theorem",
             sliderInput(inputId = "num", label = "Choose a sample size",
                         value = 5, min = 1, max = 50),
              plotOutput(outputId = "hist")
    )
    ,
      tabPanel(title = "BMI prediction",
               pageWithSidebar(
               # Application title
               headerPanel("BMI prediction"),

               sidebarPanel(
                 numericInput('wt', 'Weight in Pounds', 90, min = 50, max = 200),
                 submitButton('Submit'),
                 numericInput('ht', 'Height in Inches', 60, min = 50, max = 85),
                 submitButton('Submit')
                ),
               mainPanel(
                 h3('Results of prediction'),
                 h4('Your weight is'),
                 verbatimTextOutput("inputValue1"),
                 h4('Your height is'),
                 verbatimTextOutput("inputValue2"),
                 h4('Which resulted in a BMI of '),
                 verbatimTextOutput("prediction")

               )
              )

        )

        )
      )  
# Define server logic required to draw a histogram
server <- function(input, output) {
  output$hist <- renderPlot({
    par(mfrow = c(1,2))
    r <- 10000
    samp <- matrix(rexp(n=(input$num)*r, rate = 2), nrow = r)
    sample.means <- apply(samp,1,mean) 
    hist(sample.means,col="purple", main="Sampling Distribution of the Sample Mean", 
         xlab = "Sample Mean")
    qqnorm(sample.means, col = "purple")
  })
   bmi_calc <- function(weight, height) (weight/height^2)*703
   output$inputValue1 <- renderPrint({input$wt})
   output$inputValue2 <- renderPrint({input$ht})
   output$prediction <- renderPrint({bmi_calc(input$wt, input$ht)})
   } 
  shinyApp(ui = ui, server = server)

由于某些原因,第一个选项卡中的直方图不响应滑块。如果我不包括第二个选项卡,它将正常工作。

利斯特尔

这是两个submitButtonS; 如果单击第二个选项卡上的任何一个按钮并返回第一个选项卡,则它将更新。不幸的是,我认为没有一种方法可以指定submitButton更新的输入(当前两个输入均适用于所有输入,因此第二个选项卡上的两个都是多余的)。但是,有一些替代方法:

  • submitButton在每个选项卡上放一个,它将无害地更新(除非一个确实是资源密集型的)更新所有输入。
  • 将放置在的submitButton外部tabsetPanel,因此一个按钮可以更新所有三个输入。
  • 使用actionButton来显式更新您喜欢的任何值。这种方法可以使您对何时更新的内容进行更精确的控制,但是却要付出更多的代码编写工作。如果您的小部件需要大量资源,而又不想过度更新,则这是最佳选择。
  • 摆脱所有按钮,所有内容立即更新。在此示例中,这是我的偏爱,因为所执行的操作不会占用大量资源,并且会导致响应速度更快的用户体验。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

当TabPanel干净时在闪亮的应用程序中显示文本,在显示输出时将其隐藏

如何在闪亮的应用程序的navbarPage中设置tabPanel标题的颜色?

R中的闪亮应用程序中的sliderInput

在 R 闪亮的应用程序中调整 flexdashboard 仪表的布局?

嵌入R包中的闪亮应用程序和数据

努力在 r 闪亮的应用程序中获取输出

只有在闪亮的应用程序中的其他 tabPanel 中上传数据后才移动到其他 tabPanels

RMarkdown在闪亮的应用程序中

在WordPress中嵌入闪亮的应用程序

在闪亮的应用程序中重定向

使用CSS在闪亮的应用程序中将tabPanel右对齐

颜色代码在 r 中的闪亮应用程序中不一致

在R中闪亮的仪表板应用程序中显示LaTeX方程

如何在闪亮的应用程序中嵌入的markdown块中突出显示R或Python代码

R-部署在Shinyapps.io中的闪亮应用程序中的仪表板日期

闪亮应用程序中titlePanel中的斜体字体

在闪亮的应用程序中捕获iframe中的点击

是否可以找出 R 闪亮应用程序中没有使用哪些 R 包?

用换行符分隔 R 闪亮应用程序中的单选按钮

R-闪亮的应用程序中visNetwork vs networkd3的最新性能(2017)

R闪亮应用程序的ShinyDashboard侧栏中的selectInput反应值保持为空

R闪亮:当应用程序中的字段留空时,使用函数默认值

仅在触摸Docker容器中的ui.R之后,闪亮的应用程序才能工作

R /发光:仅在闪亮的应用程序中需要时才渲染图的元素

R Shiny:在闪亮的应用程序的反应性RMySQL查询中找不到表对象

R闪亮的应用程序错误消息中缺少错误行号

如何在闪亮的R应用程序中实现Google身份验证?

r Shiny.io错误中的小叶闪亮应用程序

在交互式R会话中从闪亮的应用程序返回值