r - 强制 cell_clicked 从预先指定的列返回值
问题描述
在我的 Shiny App 中,我试图使用该包从表ADT
中获取输入并使用它来过滤表B中的数据。但是,只有表A中第0 列的数据可用作过滤器值。因此,如果单击第 1 列,则表B中的输出为空。
那么我的问题是,是否可以强制cell_clicked
后缀始终从单击的行返回第 0 列的值?本质上我想返回input$tabelA_cell-clicked$value
列号等于 0 并且行号等于input$tabelA_cell_clicked$row
我在 serverscript 中尝试了以下操作(简化示例):
output$tabelA <- renderDataTable({datatable(Data_tabel_A)})
output$TabelB <- renderDataTable({datatable(Data_tabel_B %>%
filter(variable1 == input$tabelA[input$tabelA_cell_clicked$row,0]))
})
但是,input$tabelA[input$tabelA_cell_clicked$row,0]
似乎没有返回值。谁能指出我正确的方向?
解决方案
跟进我的评论,因为您没有提供可重现的代码,所以这是一个使用iris
数据集的简单演示 -
library(shiny)
library(DT)
shinyApp(
ui = fluidPage(
splitLayout(
DTOutput("table_A"),
DTOutput("table_B")
)
),
server = function(input, output, session) {
# can be reactive
table_A_data <- data.frame(Species = unique(iris$Species),
SomeColumn1 = letters[1:3],
SomeColumn2 = 1:3)
output$table_A <- renderDT({
datatable(table_A_data, selection = 'single')
})
output$table_B <- renderDT({
req(input$table_A_rows_selected)
# since I want to use only species value for filtering
filter_val <- table_A_data$Species[input$table_A_rows_selected]
iris %>%
filter(Species == filter_val) %>%
datatable()
})
}
)
推荐阅读
- datatables - 数据表打印自定义单元格颜色
- java - * 出了什么问题:在项目 ':app-cloud-config-server' 中找不到任务 'bootJar'。* 尝试:运行 gradlew 任务以获取可用任务列表
- ios - Ionic 3 cordova-branch-sdk 插件不起作用(ios)
- php - php curl中不记名授权令牌的问题
- python - 获取发电机表中一个属性的所有值的列表而不重复
- javascript - 我需要在 HTML 中写 X 到 Y 的幂( Y 是 X 的上标)
- twitter-bootstrap - 我不想用今天的日期预先填充我的日期范围选择器文本框
- vb.net - 没有为字符串“”定义错误运算符“&”并键入“范围”。'?
- php - 计算比例是多少?
- laravel - Laravel 5.7 从存储中获取图像