我正在尝试在 Shiny 应用程序中使用 Rhandsontable 来制作一个 8x12 表,该表将用作与 97 列数据框匹配的输入。表中的每个单元格对应于数据框中的 1 列(x 轴为 -1)。
这是我当前的测试代码:
server <- function(input, output) {
mat = matrix(, nrow=8, ncol=12, dimnames= list(LETTERS[1:8],1:12))
output$table = renderRHandsontable({
rhandsontable(mat, readOnly = T, selectCallback = T) %>%
hot_cols(colWidths=22) %>%
hot_context_menu(allowRowEdit = FALSE, allowColEdit = FALSE)
})
output$selected=renderPrint({
cat('Selected Row:',input$table_select$select$r)
cat('\nSelected Column:',input$table_select$select$c)
cat('\nSelected Cell Value:',input$table_select$data[[input$table_select$select$r]][[input$table_select$select$c]])
cat('\nSelected Range: R',input$table_select$select$r,'C',input$table_select$select$c,':R',input$table_select$select$r2,'C',input$table_select$select$c2,sep="")
})
}
ui <- fluidPage(
sidebarLayout(
sidebarPanel(width=5,
rHandsontableOutput("table"),
verbatimTextOutput("selected")
),
mainPanel(
)
)
)
shinyApp(ui,server)
这对于基于 shift-click 的多项选择、整行、整列和单个单元格的选择非常有用。但是,我还需要能够以标准的 cntrl+click 方式进行选择,以选择不连续的单元格块。这在 rhandsontable 包中不可行吗?我找不到关于它的任何文档,也找不到关于 SO 的任何其他内容。非常感谢有关哪些软件包/工具可以完成此任务的帮助或建议。