我正在尝试构建一个闪亮的仪表板,其中必须使用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”