Я регулярно фильтрую символьные векторы, используя grep в индексе.Для этого я обычно повторяю имя индексированного объекта в индексе.
paths <- c("Resources/ctrl1.txt", "Resources/ctrl2.txt",
"Resources/trt1.txt", "Resources/trt2.txt")
paths.ctrl <- paths[grep("ctrl", paths)]
Мне было интересно, был ли способ подразумевать x
(объект, в котором ищется шаблон), поэтому мне не нужно называть это явно снова.Это было бы особенно удобно, когда объект еще не назначен, и фильтрация происходит уже во время назначения.
Вместо:
dir <- "Resources/"
paths.ctrl <- paste0(dir, list.files(dir, recursive=T)[grep("ctrl", list.files(dir, recursive=T)))
Я хотел бы что-то вроде:
paths.ctrl <- paste0(dir, list.files(dir, recursive=T)[grep("ctrl", x)]
Я знаю, что могу использовать аргумент шаблона в случае list.files
, но я затрагиваю эту проблему во всех контекстах и задавался вопросом, было ли общее решение.