使用Shining In和Rmarkdown文档更新SelectInput
我正在尝试在Rmarkdown文档中使用闪亮内联。在这个简单的示例中,我想创建3个输入:第一个输入允许您从4个国家中选择一个或多个(“GHA”、“RWA”、“TZA”、“UGA”)。在real应用程序中,我希望根据选定国家的实际可用景观更新景观选项。但是,在本例中,我只希望初始视图(当默认选择“GHA”时)为“L01”到“L06”。然后,如果对“国家”输入进行任何更改,则景观选项将更改为(“嗯”,“嗯”)。我曾读到,在某些情况下,观察与反应选项可能是首选,并尝试了各种变化,但本质上,每当我包含updateSelectInput命令时,我都会丢失应用程序中的任何风景选项。谢谢你的见解使用Shining In和Rmarkdown文档更新SelectInput,r,shiny,r-markdown,R,Shiny,R Markdown,我正在尝试在Rmarkdown文档中使用闪亮内联。在这个简单的示例中,我想创建3个输入:第一个输入允许您从4个国家中选择一个或多个(“GHA”、“RWA”、“TZA”、“UGA”)。在real应用程序中,我希望根据选定国家的实际可用景观更新景观选项。但是,在本例中,我只希望初始视图(当默认选择“GHA”时)为“L01”到“L06”。然后,如果对“国家”输入进行任何更改,则景观选项将更改为(“嗯”,“嗯”)。我曾读到,在某些情况下,观察与反应选项可能是首选,并尝试了各种变化,但本质上,每当我包含u
library(shiny)
selectInput("countries", 'Country',
list("GHA","RWA","TZA","UGA"),
multiple=TRUE,
selectize=TRUE,
selected="GHA")
checkboxGroupInput("landscapes", label=("Landscape"),
choices=c("L01","L02","L03","L04","L05","L06"), selected="L01")
radioButtons("checkPlot", label = ("Factors"),
choices=c("Gender of Household Head", "Water Source(s)"),
selected = "Water Source(s)")
observeEvent(input$countries, {
updateSelectInput(session, "landscapes", choices=c("hmm","hum")) })
下面是解决您的问题的示例代码:
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(
selectInput("countries", 'Country',
list("GHA","RWA","TZA","UGA"),
multiple=TRUE,
selectize=TRUE,
selected="GHA"),
uiOutput("checkbox")
),
server = function(input, output) {
output$checkbox <- renderUI({
choice <- if(any(input$countries == "GHA")){
choice <- c("L01","L02","L03","L04","L05","L06")
}else{
choice <- c("hmm","hum")}
checkboxGroupInput("landscapes", label=("Landscape"), choices = choice, selected = choice[1])
})
}
)
库(闪亮)
图书馆(DT)
shinyApp(
ui=fluidPage(
选择输入(“国家”,“国家”,
清单(“GHA”、“RWA”、“TZA”、“UGA”),
倍数=真,
selectize=TRUE,
选定的“=“GHA”),
uiOutput(“复选框”)
),
服务器=功能(输入、输出){
output$checkbox谢谢,Mal_a!在Rmarkdown中,语法有点不同,并且您没有使用服务器/用户界面的区别(据我所知),这就是为什么它们都在我的脚本中。不过,您的解决方案对我来说非常有效,只需通过删除这些行来修改Rmarkdown。要添加这样的内容:renderUI({sliderInput(“用户_q”,“我的值”,最小值=0,最大值=10,步长=1,值=5)})