带变量的if语句可在多个地方使用

时间:2019-04-18 09:30:23

标签: if-statement shiny reactive

我正在尝试构建一个闪亮的仪表板,其中必须使用if语句来确定应如何对待变量。在这种情况下,if语句会分配一个倍数(1或0),然后在代码中的后面再乘以多个变量。由于某种原因,我无法使IF语句在renderUI函数之外工作。我试图使它成为一个响应函数,但是那也不起作用。

server <- function(input, output, session) {
  LinerCost <- reactive ({ input$LLDPE_Liner/100 * DirectRM_Cost$Rs_KG[15] +
      input$Other_Additive_Liner/100 * DirectRM_Cost$Rs_KG[20]}) 

  reactive({if (input$lamination == "lam_yes") {
    lam_rm_multiple = 1} else {
      lam_rm_multiple = 0
    }}) 

  LamCost <- reactive({ LamCost * lam_rm_multiple })
  LinerCost <- reactive ({LinerCost * liner_rm_multiple})

  Weight <- reactive ({ 
    as.numeric(input$final_lam_weight) * lam_rm_multiple 
  }) 

  RMcost <- reactive({
    ((as.numeric(input$final_unlam_weight) / CombinedWeight()) * UnLamCost())
  }) 
}

shinyApp(ui, server)

在这里,我希望为lam_rm_multiple分配一个0或1的值,然后将其与变量相乘并根据需要将其强制为0。当前,我在闪亮的说法中出现错误-警告:错误:找不到对象“ lam_rm_multiple”

0 个答案:

没有答案