РЕДАКТИРОВАТЬ:
Как отмечает Divibisan, этот вопрос предоставляет ряд общих ответов регулярных выражений, которые были протестированы на Python.Я не уверен, что все они применимы в R. Выделенный ответ отмечен как трудоемкий;ответ с наибольшим количеством голосов не работает напрямую в этом примере.
Я пытаюсь подключить опцию, позволяющую пользователю выбирать переменные на основе регулярного выражения в пользовательской функции.Шаблон должен быть необязательным, но я не могу придумать надежного значения по умолчанию.
library(dplyr)
my_select <- function(..., pattern = "") {
x <- enquos(...)
mtcars %>%
select(!!!x, matches(pattern))
}
my_select(cyl)
#> Error in matches(pattern): nchar(match) > 0 is not TRUE
NULL
или любая другая логика также выдает ошибку, поскольку аргумент regex, передаваемый matches
, должен быть строкой.
#> Error in matches(pattern) : is_string(match) is not TRUE
На данный момент я собираюсь с " "
, как я полагаю, это будет крайне редко ... но это, безусловно, возможно.
Есть ли способ обойти это или я должен просто избегать matches
и написать свою собственную вещь в base
?
Приветствия!