使用百分比滑块R发光

问题描述 投票:0回答:1

我正在R Shiny中构建一个具有百分比滑块的仪表板。我正在尝试使其成为反应性函数,以便在用户移动滑块时调整数据表。但是我一直在尝试使它动态化,尽管代码没有出错,但仍然无法正常工作。下面的代码段:

ui <- dashboardPage(

  dashboardBody(fluidRow(column(width=3, sliderInput("slider", "Threshold:", 0, 100, post = " %", 50))))

)

server <- shinyServer(function(input, output, session){

reactive({

Value = as.character(c(input$slider))

})  

  output$Data_Table <- 

    renderTable({  

  Tbl_Data[which(Tbl_Data[,5]>input$Value),]

    })    

})

shinyApp(ui, server)

任何帮助将不胜感激。

谢谢

r shiny shinydashboard
1个回答
0
投票

此处回溯;

input$Value

未定义。 input“列表”包含所有输入控件;例如, Value不是其中之一。

在您的代码中,Value是反应式的。因此要使用它,请调用Value()

第二,input$slider本身是一个数值。我不记得它是在0-100还是0.0-1.00的范围内,而您决定将其转换为字符串(as.character(c(input$slider)))(以及为什么要调用额外的c?)。

所以您正在做的比较是在...一个字符串上。这可能会或可能不会产生意外的结果。取决于Tbl_Data第五列的类型-是字符还是数字矢量?

如果Tbl_Data[,5]是数字,则您的比较可以简化为

Tbl_Data[Tbl_Data[,5]>input$slider, ]

因为which返回参数解析为TRUE的整数位置-并且进行子集设置时,您直接使用TRUEFALSE的逻辑向量。

© www.soinside.com 2019 - 2024. All rights reserved.