在Shiny中使用rhandstable时的数据验证

时间:2018-01-01 16:31:33

标签: r shiny

我有以下Shiny应用程序来生成可编辑的表格。

library(shiny)

UI <- fluidPage(
  rHandsontableOutput('contents')
)
Server <- function(input, output) {

  list1 <- c("Bank", "Bank")
  list2 <- c("NA","NA")
  df <- data.frame(list1, list2)

  output$contents <- renderRHandsontable({
    rhandsontable(df)
  })

}

shinyApp(ui = UI, server = Server)

工作正常。但是,我想包含一个下拉列表,我可以用它替换值。所以我们说我有一个这样的矢量:

categories <- c("expenses", "income")

如何包含这一点,以便当我点击第二栏中的单元格时,我有机会在费用和收入之间做出选择?

1 个答案:

答案 0 :(得分:0)

如果您将df定义为df <- data.frame(list1, list2)

,就可以完成此操作

output$contents <- renderRHandsontable({
  rhandsontable(df) %>% hot_col(col = 'list2', type = "dropdown", source = list2)

})

但是,这似乎仅在向量list2的长度大于3的情况下有效。