小编Nar*_*ahu的帖子

DT:根据 R 闪亮应用程序中另一列的选择输入动态更改列值

我正在尝试创建一个表(使用 DT,请不要使用 rhandsontable),该表几乎没有现有列,一个 selectinput 列(其中每行都有可供选择的选项),最后是另一列,该列将根据用户选择进行填充从每行的 selectinput 下拉列表中。

在我的示例中,“反馈”列是用户下拉选择列。我无法更新“分数”列,该列将基于“反馈”列下拉列表中的选择。

if(interactive()){
  library(DT)
  library(shiny)
  tbl1 <- data.frame(A = c(1:10), B = LETTERS[1:10], C = c(11:20), D = LETTERS[1:10])
  ui <- fluidPage(
    DT::dataTableOutput(outputId = 'my_table')
  )
  server <- function(input, output, session) {
    rv <- reactiveValues(tbl = tbl1)
    observe({
      for (i in 1:nrow(rv$tbl)) {
        rv$tbl$Feedback[i] <- as.character(selectInput(paste0("sel", i), "",
                                                       choices = c(1,2,3,4)
        ))
        
        if(!is.null(input[[paste0("sel", i)]])) {
          if(input[[paste0("sel", i)]] == 1) {
            rv$tbl$Score[i] <- 10
          } else if(input[[paste0("sel", i)]] == 2) {
            rv$tbl$Score[i] <- 20
          } …
Run Code Online (Sandbox Code Playgroud)

r datatables reactive-programming shiny dt

4
推荐指数
1
解决办法
1612
查看次数

标签 统计

datatables ×1

dt ×1

r ×1

reactive-programming ×1

shiny ×1