【发布时间】:2018-11-28 16:04:31
【问题描述】:
我正在尝试进行响应式输入以获取输出,然后将该输出用作输入来计算函数。这只是我想做的一个例子。我无法删除产品功能。
你能建议如何显示输出吗? 因此产品必须是 hours 和 maxdays 的结果,这取决于天数的选择。
library(shiny)
ui = fluidPage(
selectInput('p_id','ID:', c(111,222,333)),
uiOutput('uiID'),
uiOutput('uiID1'),
# uiOutput('val'),
textOutput("values4.5"),
submitButton("apply_changes")
)
server = function(input, output, session) {
maxdays <- reactive({
if(input$p_id %in% c(111)){
x = c(1,2)
}else{
if(input$p_id %in% c(222)){
x = 2
}else
x = 3
}
return(x)
})
hours <- reactive({
if(input$p_id %in% c(111)){
x = c(20,10)
}else{
if(input$p_id %in% c(222)){
x = 20
}else
x = 30
}
return(x)
})
output$uiID <- renderUI({
selectInput('days','Days:', choices=maxdays())
})
output$uiID1 <- renderUI({
selectInput('days','Days:', choices=hours())
})
product<-function(p_id,maxdays,hours){
prod=p_id*maxdays*hours
return(prod)
}
complete_ans <-reactive({
answer <- product(input$p_id,input$maxdays,input$hours)
values4.5 = answer
output=list(values4.5=values4.5)
})
output$values4.5 <- renderText({complete_ans()[['values4.5']]})
}
runApp(shinyApp(ui = ui, server = server))
【问题讨论】: