Редактировать данные в Shiny с выпадающим выбором для факторных переменных - PullRequest
0 голосов
/ 01 октября 2018

Я пытаюсь создать приложение 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)

Это позволяет мне редактировать значения x в строке, но так как x является фактором, я бы хотел ограничить значения, которые пользовательумеет вводить.В идеале я хотел бы, чтобы это было выполнено с помощью выпадающего меню.Возможна ли эта функциональность с использованием DT :: datatable и Shiny?

Примечание: Я знаю о пакете rhandsontable, однако я бы предпочел использовать DT, если это возможно.

...