Non-numeric argument to binary operator in Glänzend
Ich brauche etwas Hilfe ich bin ein Neuling in der Glänzenden Welt und stecken in etwas, das könnte sehr basic. Hier mein ui.R und server.R-code
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)
}
)
Wenn ich ausführen runApp(), hier ist, was ich immer bin:
Error in height * height : non-numeric argument to binary operator
InformationsquelleAutor seekme_94 | 2016-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok! Ich löste diesen speziellen Fall durch ersetzen Rendern mit reaktiven Funktion.
Aber nicht erklären, was ist Los mit renderText-Funktion.
renderText
, aber die Art und Weise Sie es sehen. Sie versuchen zu kalkulieren, als wäre es eine Zahl. Ist es aber nicht. Wenn Sie versuchenclass(renderText({}))
Sie werden sehen, dass der Typfunction
.Ja, das erklärt es. Es Ausgabe$bmi <- renderText({input$Gewicht / input$height * input - $height}) die Lösung für mich. Dank ein paar Kumpel...
InformationsquelleAutor seekme_94