簡體   English   中英

Shiny中二元運算符的非數字參數

[英]Non-numeric argument to binary operator in Shiny

我需要一些幫助,我是 Shiny 世界的新手,並且陷入了一些可能非常基本的事情。 這是我的 ui.R 和 server.R 代碼

shinyUI(
  pageWithSidebar(
    headerPanel("Hello Shiny R..."), 
    sidebarPanel(
      sliderInput(inputId="age", label="Age", min=1, max=99, value=24, step=1, animate=TRUE),
      numericInput(inputId="height", label="Height (cm)", min=0, max=300, value=160, step=5),
      numericInput(inputId="weight", label="Weight (kg)", min=0, max=500, value=100, step=5),
      radioButtons(inputId="gender", label="Gender", choices=c("Male", "Female"), selected="Male", inline=TRUE),
      textInput(inputId="name", label="Full Name"),
      submitButton(text="Apply")
    ),
    mainPanel(
      h1("BMI Calculator"),
      p("Name:"),
      textOutput("name"),
      p("Age:"),
      textOutput("age"),
      p("Gender:"),
      textOutput("gender"),
      p("BMI:"),
      textOutput("bmi")
    )
  )
)

shinyServer(
  function(input, output) {
    output$name <- renderText({input$name})
    output$age <- renderText({input$age})
    output$gender <- renderText({input$gender})
    weight <- renderText({as.numeric(input$weight)})
    height <- renderText({as.numeric(input$height)})
    output$bmi <- weight / (height * height)
  }
)

當我執行 runApp() 時,這是我得到的:

Error in height * height : non-numeric argument to binary operator

好的! 我通過用反應式函數替換渲染來解決這個特殊情況。

weight <- reactive({input$
height <- reactive({input$height / 
output$bmi <- renderText({weight() / (height() * height())})

但這並不能解釋 renderText 函數有什么問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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