小编dwh*_*dai的帖子

使用因子变量的下拉选择来编辑Shiny中的数据表

我正在尝试创建一个Shiny应用程序,该应用程序允许用户编辑数据表,从而保存编辑内容。这是一个最小的示例:

library(shiny)
library(DT)

ui <- fluidPage(
  DT::DTOutput('df')
)

server <- function(session, input, output){
  df <- data.frame(x = factor(c("A", "B", "C"), levels = c("A", "B", "C")))
  output$df <- DT::renderDT(df,
                        editable = T)

  proxy <- dataTableProxy("df")

  observeEvent(input$df_cell_edit, {
    info <- input$df_cell_edit
    str(info)
    i <- info$row
    j <-  info$col
    v <- info$value
    df[i, j] <<- DT:::coerceValue(v, df[i, j])
    replaceData(proxy, df, resetPaging = FALSE)

  })
}

shinyApp(ui, server)
Run Code Online (Sandbox Code Playgroud)

这使我可以编辑内联的值x,但是由于这x是一个因素,因此我想限制用户能够输入的值。理想情况下,我希望使用下拉菜单来完成此操作。使用DT :: datatable和Shiny可以实现此功能吗?

注意:我知道该rhandsontable软件包,但是,如果可能的话,我宁愿使用DT。

r shiny dt

6
推荐指数
1
解决办法
659
查看次数

标签 统计

dt ×1

r ×1

shiny ×1