【发布时间】:2018-08-06 14:01:16
【问题描述】:
我无法弄清楚如何在闪亮中做到这一点: 我有几个变量(a、b、c),用户可以在它们之间进行选择(比如说使用 selectinput)。我有一个滑块输入来确定这个变量的权重。因此,如果选择了变量“a”,则滑块输入值将作为权重分配给该变量。到目前为止没有问题。当我更改我选择的变量(让我们说变量“b”)并且我想更新sliderinput显示的初始值是变量“b”的权重(而不是最后一个权重是变量“a”)时,问题就出现了)。我尝试了很多方法都无法理解它。底部的代码生成一个循环事件。
shinyUI(fluidPage(
selectInput("SelectIndicator", "Select Indicator", choices = c("a", "b", "c"),
sliderInput('SelectIndicatorWeight', 'Select Indicator Weight',
min=1, max=4, value= weight_holder[,1], # initial value
step=1, round=0)
))
shinyServer(function(input, output, session) {
observe({
indic_selected <- input$SelectIndicator
x <- which(colnames(weight_holder) == indic_selected)
updatesliderinput(session, "SelectIndicator", value = weight_holder[,x]
weight_holder[,x] <- input$SelectIndicatorWeight
})
})
【问题讨论】:
-
你能提供 weight_holder 对象吗?请注意,您可以使用 dput() 或创建一个简单的 data.frame 作为替代品。