Изменить определенные столбцы DataTable в R - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь отредактировать DataTable в r, используя editable = TRUE.Тем не менее, я хотел бы редактировать только некоторые конкретные столбцы таблицы, а не все столбцы.Это возможно?Код, который я использую:

library(shiny)
library(DT)

ui <- fluidPage(
DT::dataTableOutput('population_table'),
textOutput("text")
)
server <- function(input, output, session) {
data = head(iris)
y <- reactive({
input$population_table_cell_edit
data
})
output$population_table = DT::renderDataTable(data, selection = 'none', 
editable = TRUE)

proxy = dataTableProxy('population_table')
observeEvent(input$population_table_cell_edit, {
info = input$population_table_cell_edit
str(info) #print 
i = info$row
j = info$col
v = info$value
data[i, j] <<- DT::coerceValue(v, data[i, j])
replaceData(proxy, data, resetPaging = FALSE)
})
output$text <- renderText({
y()[1, 1]
})
}
shinyApp(ui,server)

1 Ответ

0 голосов
/ 27 марта 2019

Возможно, немного поздно, но я попробовал то же самое, и нашел решение для вашей проблемы, только сделав оператор if, например, если вы хотите изменить только столбец 3:

if(j == 3){
    data[i, j] <<- DT::coerceValue(v, data[i, j])
    replaceData(proxy, data, resetPaging = FALSE)
}else{}

По крайней мере, у меня это работает, но я бы предпочел обращаться с этим по-другому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...