Попробуйте:
output$fault_template <- renderDataTable({
fau <- fau[, c(1, grep(input$su, names(fau))) ]
datatable(fau[,-1:-1],class = 'cell-border stripe')
})
При изменении grepl
на grep
вы получите индексы столбцов.Предполагая, что столбец A имеет индекс 1, затем добавьте его к выделению с помощью c(1, ...
Если столбец A имеет индекс столбца, который может измениться, попробуйте:
c(grep("A", names(fau)), grep(input$su, names(fau)))
inputШаблон
Если input$su
представляет собой такой символ, как: «ASD GHG BVG JJJ», вам необходимо преобразовать его в полезное регулярное выражение
Попробуйте изменить:
grep(input$su, names(fau))
до
grep( gsub(" +", "|", input$su), names(fau))
В результате получается шаблон: "ASD|GHG|BVG|JJJ"
.Я предполагаю, что каждая трехбуквенная группа является именем столбца