Удалите все объекты из среды R, чьи имена НЕ содержат конкретной строки - PullRequest
1 голос
/ 21 июня 2019

Я хотел бы удалить все объекты из моей среды RStudio, где имена объектов НЕ содержат заданную строку.

rm(list=ls(pattern!="may19"))

Тем не менее это выдает мне сообщение об ошибке

Ошибка в as.environment (pos): в списке поиска нет элемента с именем "pattern! =" May19 ""

Есть ли другой способ, которым я могу подойти к этому?Спасибо

1 Ответ

3 голосов
/ 21 июня 2019

Вы можете сделать:

rm(list= names(Filter(function(x) !any(names(x) == "may19"),
       mget(ls(),envir = .GlobalEnv))))

Или просто (как предложено @nicola):

rm(list=grep("may19",ls(),value=TRUE,invert=TRUE))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...