Я работаю со следующим кодом:
server = function(input, output) {
# Filter data based on selections
output$table <- DT::renderDataTable(DT::datatable({
data <- test_results
if (input$rn != "All") {
#data <- data[data$rn == input$rn,]
#data = data[grep(input$rn, data$rn),]
data = data[data$rn %like% input$rn,]
}
data
}))
}
Проблема в том, что сопоставление строк с использованием как grep, так и% like% работает, когда у меня есть входные значения, такие как == 6. Проблема в том, что обе строки не работают для других входных значений в моих данных, которые имеют круглые скобки, такие как abs (a ) == 6. Как исправить эту строку, чтобы сопоставление строк работало с круглыми скобками и без них? Спасибо!
ОБНОВЛЕНИЕ ДЛЯ РЕПРОДУКЦИОННОГО ПРИМЕРА:
a = matrix(list("abs(a) = 2", "a = 2" , 1, 1), 2, 2)
В качестве примера, мне нужен общий способ фильтрации этой матрицы, где работают оба abs (a) = 2 и a = 2.
a = a [a [0]% like% «filter field»] не работает как в примере
% в% работает, но совпадает только тогда, когда строки совпадают
Я хочу, чтобы функциональность% like%, но like не работает, если строка содержит круглые скобки.