r - 闪亮的数据表只保留选定的行..错误:未实现这些类型的比较
问题描述
我有一个数据表,我希望用户能够选择一行并且只显示选定的行,如果他们取消选择该行,那么它将再次显示所有行(原因是我想使用额外的房地产在过滤了其他图表后)......但我一直遇到错误。
大多数示例显示了如何使用事件和观察来显示选定的行或其值,但我找不到任何关于如何将行选择作为过滤器传回的信息。
library(shiny)
shinyApp(
ui = fluidPage(
column(8, dataTableOutput("table"))
),
server = function(input, output) {
df <- reactive({
if (length(input$table_rows_selected) > 0)
iris%>%
filter(Species == iris[input$table_rows_selected])
else iris
})
output$table <- DT::renderDataTable({
df()})
}
)
解决方案
以下是如何仅显示选定行的示例。它通过创建第二个表来显示选定的行来工作。如果用户单击第二个表的唯一行,将显示完整的表。
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(
column(8, uiOutput("tables_UI"))
),
server = function(input, output) {
v <- reactiveValues(row = 0)
output$tables_UI <- renderUI({
if (v$row == 0) {
DTOutput("table1")
} else {
DTOutput("table2")
}
})
observeEvent(input$table1_rows_selected, {
v$row <- input$table1_rows_selected
})
observeEvent(input$table2_rows_selected, {
v$row <- 0
})
output$table1 <- DT::renderDataTable({
iris})
output$table2 <- DT::renderDataTable({
if (v$row > 0) {
iris[v$row, ]
}
})
}
)
推荐阅读
- asp.net - VB.NET - 单击 DataGridView 超链接并获取单击的文本
- reporting-services - 堆叠条形图中的 SSRS 匹配颜色系列
- database - Codeigniter SUM 查询只带来一行
- jquery - 如果模态已打开,则不要进行位置重新加载
- sql - 通过键查找从一个表到另一个表的路径
- javascript - 使用表单数据处理发布请求,而不在节点中表达
- python - 无法更新标签文本
- github - 如何在不使用发布分支的情况下使用 git flow?
- java - 二叉搜索树的迭代器不会沿着树向下
- ruby-on-rails - shoulda-matchers validate_uniqueness_of 在没有作用域时返回作用域