会错误是因为你用unique,没有取最小跟最大出来
请直接用range就好
amount = observe({
input$brand
if (input$brand=="all"){
val = range(df$amount)
} else{
val = range(df$amount[df$brand==input$brand])
}
updateSliderInput(session, "amount", min = val[1], max = val[2])
})
※ 引述《ardodo (米虫)》之铭言:
: ※ 引述《celestialgod (攸蓝)》之铭言:
: : 一样的方法去改,再server里面加这个就好
: : amount = observe({
: : input$brand
: : if (input$brand=="all"){
: : val = c(1, 20)
: : } else if (input$brand=="s"){
: : val = c(4, 8)
: : } else if (input$brand=="w"){
: : val = c(3, 10)
: : }
: : updateSliderInput(session, "amount", min = val[1], max = val[2])
: : })
: 照着版大的指令修改后,目前我sliderinput的范围在我选择brand==w or brand==s
: 的情况下是正常的,但是我如果选择brand==all,范围变成10-20,这是错误的
: 不知道我应该从哪边修改呢?
: 以下是我的code
: http://pastebin.com/MqjwBJBF