Я делаю блестящий, где я могу прочитать файл CSV, а затем иметь возможность заменить выбранный столбец новым значением (которое в данном случае заменено на 0). Обычно я использую для этого функцию изменения.
Как правильно использовать функцию изменения в блестящем, когда выбранный столбец также является входом?
ui <- fluidPage(fileInput('file1', h2('Dataset Settings'),
accept=c('text/csv', 'text/comma-separated-values,text/plain', '.csv')),
tags$hr(),
selectInput(inputId = "replaceCol",
label = "Select numeric with missing value",
choices = c()),
actionButton(inputId = "confirm",
label = "Replace with 0"),
tags$hr(),
dataTableOutput("Original")
)
server <- function(input, output, session){
data_set <- reactive({
inFile <- input$file1
read.csv(inFile$datapath)
})
observe({
req(input$file1)
temp <- colnames(data_set())
col <- list()
col[temp] <- temp
updateSelectInput(session,
inputId = "replaceCol",
choices = col,
selected = "")
})
output$Original <- renderDataTable({
data_set()
})
observeEvent(input$confirm,{
data_set() <- mutate(data_set(), replace(input$replaceCol, TRUE, 0))
})
}
shinyApp(ui = ui, server = server)