[英]Assigning values after input in R Shiny
我最近開始使用R Shiny,對在反應環境中使用if語句有疑問。 我讀了其他文章,但沒有完全找到我需要的東西。
假設有三個電話計划,A,B和C。每個電話計划都有固定成本和每分鍾成本。 給定用法和計划,我們想告訴用戶總成本。 所以在UI中,我們有:
selectInput("plan", "Choose phone plan", choices = c("A", "B", "C"))
我的問題是說選擇A后,我想為A定義變量固定成本= 10美元,每分鍾成本= 1美元。 與B,C類似。然后我可以顯示總費用。
選擇計划后,我不知道如何分配固定成本和可變成本。 為簡單起見,我不想提示用戶每個計划的固定成本和可變成本。 關於服務器文件中應包含的內容的任何建議?
我試着做:
if(input$choices == "A"){fixcost = 10, mincost = 1}
output$cost = renderText(fixcost+mincost*input$use)
您可以像創建字典
dict=data.frame(type=c("A","B","C"),fixcost =c(10,11,12),mincost=c(1,2,3))
ui=shinyUI(
fluidPage(
selectInput("plan", "Choose phone plan", choices = c("A", "B", "C"))
,
numericInput("use","use",0),
textOutput("txt"),
textOutput("cost")
)
)
server=shinyServer(function(input, output,session) {
output$txt=renderPrint({
paste("fixcost =",dict$fixcost[dict$type==input$plan] ," mincost =",dict$mincost[dict$type==input$plan])
})
output$cost = renderText(dict$fixcost[dict$type==input$plan]+dict$mincost[dict$type==input$plan]*input$use)
})
shinyApp(ui,server)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.