使用单选按钮更改计算

时间:2016-05-07 14:28:47

标签: r radio-button shiny

我想使用单选按钮(输入$ relStat),因此每个选项对textOutput运行不同的计算。输入来自basicIncome的滑块和childNum的数字。

ui.R

sliderInput(inputId = "basicIncome", 
              label = "Choose a monthly basic income", 
              value = 600, min = 0, max = 1200, step = 50
  ),

textOutput("annualBasicIncome"),
)

server.R

annualBasicIncome <- eventReactive(input$updateButton, {
  if ("1" %in% input$relStat)
    renderText({(input$basicIncome*12)+((input$basicIncome*12)*input$childNum)})

  if ("2" %in% input$relStat)
    renderText({(2*(input$basicIncome*12))+((input$basicIncome*12)*input$childNum)})
})

output$annualBasicIncome <- renderText({
  annualBasicIncome()
})

我试图将radioButton赋予一个值。但是二进制。

如果我删除了第一个if("1"),那么对于一个radioButton选项,则不会显示任何内容,而对于另一个,我会收到错误argument 1 (type 'closure') cannot be handled by 'cat'

1 个答案:

答案 0 :(得分:0)

尝试:

switch(as.numeric(input$relStat),
  return((input$basicIncome*12)+((input$basicIncome*12)*input$childNum)),
  return((2*(input$basicIncome*12))+((input$basicIncome*12)*input$childNum))
)

那应该可以得到你想要的结果。