如何解决如何将一个 R Shiny 输入的输出提供给另一个
我想弄清楚如何将一个 Shiny 输入的值传递给另一个。我的目标是将滑块的值默认为与其上方下拉列表中的选择相对应的值。也就是说,我希望有一种方法可以将 selectinput()
(本质上是 input$Character
)的选择传递给 sliderinput()
中的 value 参数。我想尝试类似下面的代码,但它完全失败了。
library(shiny)
ui <- fluidPage(
sidebarPanel(
selectInput(inputId="Character",label="Choose Your Character",choices=starwars$name),sel = starwars %>% filter(name==input$name) %>% select(height),sliderInput(inputId="height",label="Choose character height ",min=0,max=max(starwars$height),value=sel)
),mainPanel(
verbatimtextoutput('text')
)
)
server <- fuction(input,output) {
output$text <- renderPrint({
print(input$height)
})
}
shinyApp(ui=ui,server=server)
谢谢!
解决方法
不要害怕使用服务器端处理,它非常简单!
library(shiny)
ui <- {
fluidPage(
selectInput("character","Choose your character",choices = starwars$name
),uiOutput("height_ui"),verbatimTextOutput('text')
)
}
server <- function(input,output,session) {
output$height_ui <- renderUI({
selected_character_height <- starwars %>%
filter(name == input$character) %>%
pull(height)
sliderInput("height","Choose character height ",min = 0L,max = max(starwars$height,na.rm = TRUE),value = selected_character_height
)
})
output$text <- renderPrint({
print(input$height)
})
}
shinyApp(ui,server)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。