1
我有一個閃亮的應用程序,它在DT表中顯示數據幀數據。在應用程序中,我點擊一個按鈕將刪除選定的行。這是我第一次選擇行並單擊刪除按鈕,但在再次單擊後,將刪除錯誤的行並重新出現任何先前刪除的行。我假設這是因爲當我呼叫DT::renderDataTable()
時它會重新加載數據幀(來自csv)。在Shiny應用程序中刪除DT數據表的一行
如何從數據框中刪除選定的行後重新呈現表格?
我有一個閃亮的應用程序,它在DT表中顯示數據幀數據。在應用程序中,我點擊一個按鈕將刪除選定的行。這是我第一次選擇行並單擊刪除按鈕,但在再次單擊後,將刪除錯誤的行並重新出現任何先前刪除的行。我假設這是因爲當我呼叫DT::renderDataTable()
時它會重新加載數據幀(來自csv)。在Shiny應用程序中刪除DT數據表的一行
如何從數據框中刪除選定的行後重新呈現表格?
這可以讓你開始:
ui.R
library(shiny)
library(DT)
shinyUI(fluidPage(
titlePanel("Delete rows with DT"),
sidebarLayout(
sidebarPanel(
actionButton("deleteRows", "Delete Rows")
),
mainPanel(
dataTableOutput("table1")
)
)
))
server.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
})
})