r - 在Shiny应用程序中删除DT数据表的行

标签 r shiny dt

我有一个 Shiny 的应用程序,可以在 DT 表中显示数据帧数据。在应用程序中,我有一个按钮,单击该按钮将删除所选行。当我第一次选择行并单击删除按钮时,它会起作用,但再次单击后,错误的行将被删除,并且任何以前删除的行都会重新出现。我假设这是因为当我调用 DT::renderDataTable() 时它会重新加载数据帧(从 csv)。

从数据框中删除选定的行后如何重新渲染表格?

最佳答案

这可以帮助您开始:

ui.R

    library(shiny)
    library(DT)
    shinyUI(fluidPage(
       titlePanel("Delete rows with DT"),
              sidebarLayout(
                sidebarPanel(
                    actionButton("deleteRows", "Delete Rows")
                ),
                mainPanel(
                   dataTableOutput("table1")
                )
              )
    ))

服务器.R

    library(shiny)
    library(DT)
    library(dplyr)
    df <- data.frame(x = 1:10, y = letters[1:10])

    shinyServer(function(input, output) {
            values <- reactiveValues(dfWorking = df)

           observeEvent(input$deleteRows,{

                    if (!is.null(input$table1_rows_selected)) {

                            values$dfWorking <- values$dfWorking[-as.numeric(input$table1_rows_selected),]
                    }
            })

            output$table1 <- renderDataTable({
                    values$dfWorking
            })

    })

关于r - 在Shiny应用程序中删除DT数据表的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39136385/

相关文章:

javascript - 将选中的图标添加到 DT shiny 中的选定行

python - 您将如何在 Matplotlib 或 Mayavi 中表示以下 3D 数据?

r - 将新变量添加到 data.frames 列表的每个元素

html - 使用 HTML 的 R Shiny 输出的属性

r - 在 R Shiny 中添加和删除 DT Datatable 的行

r - Shiny:ProgressBar,用于将数据从数据库加载到数据表(DT)

r - 提取 data.table 的片段

r - 在R中将字符串拆分为不同长度的子字符串

html - 避免在 R Shiny 中的连字符后换行

twitter-bootstrap - Shiny 的 navbarPage + css.file