如何删除除函数以外的所有变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (45)

我在R控制台中加载了不同类型的对象。我可以使用它们全部删除它们:

rm(list=ls())

或者仅使用删除函数(但不包括变量):

rm(list=lsf.str())

我的问题是:有没有办法删除除函数外的所有变量?

提问于
用户回答回答于

这是一个除了函数之外的所有对象的单线程:

rm(list = setdiff(ls(), lsf.str()))

它用于setdiff查找全局环境(由返回的ls())中有没有模式function(由返回的lsf.str())的对象子集。

用户回答回答于

代码:

lstype<-function(type='closure'){ 
    inlist<-ls(.GlobalEnv)
    if (type=='function') type <-'closure'
    typelist<-sapply(sapply(inlist,get),typeof)
    return(names(typelist[typelist==type]))
}

所属标签

可能回答问题的人

  • 人生的旅途

    10 粉丝484 提问6 回答
  • 不吃貓的鱼oo

    5 粉丝466 提问6 回答
  • 富有想象力的人

    4 粉丝0 提问5 回答
  • Richel

    8 粉丝0 提问5 回答

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励