闪亮的小部件价值基于其他小部件
Shiny Widget Value based off other Widget
所以假设我有以下 R shiny 应用 UI:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("x1",
"Choose knot 1:",
min = 1,
max = # here I want the value of slider x2
value = 10, # default value
step=0.01),
sliderInput("x2",
"Choose knot 2:",
min = # here I want value of slider input x1
max = 50,
value = 25, # default value
step=0.01),
)
)
)
我希望滑块输入 x1 的最大值是滑块输入 x2 的当前值,我希望滑块输入 x2 的最小值是滑块输入 x1 的当前值。如何从另一个小部件中的滑块输入获取当前值?
我认为您可以在 server
中的 observe
中使用 updateSliderInput
以获得所需的行为。
server <- function(input, output, session) {
observe({
updateSliderInput(session, inputId = "x1", max = input$x2)
updateSliderInput(session, inputId = "x2", min = input$x1)
})
}
所以假设我有以下 R shiny 应用 UI:
ui <- fluidPage(
sidebarLayout(
sidebarPanel(
sliderInput("x1",
"Choose knot 1:",
min = 1,
max = # here I want the value of slider x2
value = 10, # default value
step=0.01),
sliderInput("x2",
"Choose knot 2:",
min = # here I want value of slider input x1
max = 50,
value = 25, # default value
step=0.01),
)
)
)
我希望滑块输入 x1 的最大值是滑块输入 x2 的当前值,我希望滑块输入 x2 的最小值是滑块输入 x1 的当前值。如何从另一个小部件中的滑块输入获取当前值?
我认为您可以在 server
中的 observe
中使用 updateSliderInput
以获得所需的行为。
server <- function(input, output, session) {
observe({
updateSliderInput(session, inputId = "x1", max = input$x2)
updateSliderInput(session, inputId = "x2", min = input$x1)
})
}