From 7a5b9077906a7bbc9d910b391d4681cef991fad8 Mon Sep 17 00:00:00 2001 From: Colin Rundel Date: Wed, 6 Mar 2024 17:34:13 -0500 Subject: [PATCH] Fix broken filter --- R/util_filter.R | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/R/util_filter.R b/R/util_filter.R index 809fe8f..08ed3d1 100644 --- a/R/util_filter.R +++ b/R/util_filter.R @@ -1,23 +1,29 @@ -filter_results = function(res, col, pattern = NULL, exclude = FALSE) { +filter_results = function(res, pattern = NULL, exclude = FALSE, col = NULL) { UseMethod("filter_results", res) } #' @exportS3Method -filter_results.default = function(res, col, pattern = NULL, exclude = FALSE) { - if (!is.null(pattern)) { - subset = grepl(pattern, res) - if (exclude) res = res[!subset] - else res = res[subset] - } - res +filter_results.default = function(res, pattern = NULL, exclude = FALSE, col = NULL) { + if (is.null(pattern)) + return(res) + + subset = grepl(pattern, res) + if (exclude) + res[!subset] + else + res[subset] } #' @exportS3Method -filter_results.data.frame = function(res, col, pattern = NULL, exclude = FALSE) { - if (!is.null(pattern)) { - subset = grepl(pattern, res[[col]]) - if (exclude) res = res[!subset,] - else res = res[subset,] - } - res +filter_results.data.frame = function(res, pattern = NULL, exclude = FALSE, col = NULL) { + if (is.null(pattern)) + return(res) + + stopifnot(!is.null(col)) + + subset = grepl(pattern, res[[col]]) + if (exclude) + res[!subset,] + else + res[subset,] }