Shiny 闪亮:renderText使用条件滑块失败
我正在努力学习闪亮,我在一个问题上撞到了我的头 如果是在条件面板中,我无法将由Shiny 闪亮:renderText使用条件滑块失败,shiny,Shiny,我正在努力学习闪亮,我在一个问题上撞到了我的头 如果是在条件面板中,我无法将由滑块put确定的值呈现为文本。只是不明白如何解决这个问题 最小示例 library(shiny) ui <- fluidPage( titlePanel("Plot my distribution"), sidebarLayout( sidebarPanel( helpText("Plot a distribution."), selectInput("distr", l
滑块put
确定的值呈现为文本。只是不明白如何解决这个问题
最小示例
library(shiny)
ui <- fluidPage(
titlePanel("Plot my distribution"),
sidebarLayout(
sidebarPanel(
helpText("Plot a distribution."),
selectInput("distr",
label = "Choose a distribution",
choices = c("Binomial",
"Negative Binomial",
"Poisson"),
selected = "Binomial"),
conditionalPanel(
condition = "input.distr != 'Poisson'",
sliderInput("prob",
label = "Probability of success:",
min = 0, max = 1, value = 0.5
)
)
),
mainPanel(
textOutput("selected_dist"),
textOutput("prob")
)
)
)
server <- function(input, output) {
output$selected_dist <- renderText({
paste("You have selected", input$distr)
})
output$prob <- reactive({
renderText({
paste("You have chosen probability =", input$prob)
})
})
outputOptions(output, "prob", suspendWhenHidden = FALSE)
}
shinyApp(ui, server)
库(闪亮)
ui这里有两个反应式ui,一个用于滑块,另一个用于文本。但只有一个响应滑块的条件。您希望两者都依赖于输入$distr
。一种方法是仅在input$distr!=泊松
另外,我认为有一个建议是,render
语句不应该在被动的
语句中,或者相反。因为render
语句已经是被动的
因此,要仅在呈现滑块小部件时将通过滑块选择的值显示为文本,可以执行以下操作:
server <- function(input, output) {
output$selected_dist <- renderText({
paste("You have selected", input$distr)
})
output$prob <- renderText({
if (!input$distr== "Poisson") {
paste("You have chosen probability =", input$prob)
}
})
}
服务器如果您的选择input
是“distr”
不应该condition=“input.distr…”
,而不是condition=“input.distrib…”
?是的,对。但这是问题中的打字错误(对不起).fixed.从输出$prob
中删除反应性标记为我解决了这个问题。@novica是的,它解决了。我真的对反应性环境感到困惑!谢谢