[英]R shiny error: Error in html tools::validateCssUnit(height); CSS units must be a single-element numeric or character vector
[英]R shiny - error : must be a numeric
library(shiny)
library(frailtypack)
data("readmission", package = "frailtypack")
ui <- fluidPage(
sidebarPanel(
sliderInput("nb",
h5("Number of time intervals :"),
min = 1,
max = 20,
value = 10)),
mainPanel(
verbatimTextOutput("mod"))
)
server <- function(input, output) {
output$mod <- renderPrint({
model <-frailtyPenal(Surv(time,event)~cluster(id)+ sex + dukes, data=readmission,
hazard = "Piecewise-per", nb.int = input$nb)
print(model)
})
}
shinyApp(ui, server)
嗨,上面的代碼使我返回nb.int必須為數字的錯誤。 而input $ nb是一個數字。 我不明白為什么。
錯誤消息是很不言自明的。 input$nb
是integer
( int
)類,但frailtyPenal
希望使用numeric
( double
)。 您可以使用as.numeric
進行轉換。
大多數R函數都在內部在類型之間進行轉換,因此您可能不會經常看到這種情況,但是有時函數對它們的輸入參數有非常嚴格的要求。
library(shiny)
library(frailtypack)
data("readmission", package = "frailtypack")
ui <- fluidPage(
sidebarPanel(
sliderInput("nb",
h5("Number of time intervals :"),
min = 1,
max = 20,
value = 10)),
mainPanel(
verbatimTextOutput("mod"))
)
server <- function(input, output) {
output$mod <- renderPrint({
message("start render")
message(input$nb)
message(class(input$nb))
model <-frailtyPenal(Surv(time,event)~cluster(id)+ sex + dukes, data=readmission,
hazard = "Piecewise-per", nb.int = as.numeric(input$nb))
print(model)
})
}
shinyApp(ui, server)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.