从R环境中删除所有名称不包含特定字符串的对象

时间:2019-06-21 13:08:33

标签: r

我想从我的RStudio环境中删除所有对象,在这些环境中,对象名称不包含给定的字符串。

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

但是这给我一个错误信息

  

as.environment(pos)中的错误:上没有名为“ pattern!=” may19”的项目   搜索列表

还有其他方法可以解决这个问题吗?谢谢

1 个答案:

答案 0 :(得分:3)

您可以这样做:

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

或者简单地(由@nicola建议):

rm(list=grep("may19",ls(),value=TRUE,invert=TRUE))