簡體   English   中英

在R Shiny中輸入后分配值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM