首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用rm()删除多个对象

使用rm()删除多个对象
EN

Stack Overflow用户
提问于 2012-07-24 13:49:48
回答 4查看 126.9K关注 0票数 91

我的内存被一堆中间文件(称为temp1temp2等)阻塞了。我想知道是否有可能在不进行重复的rm调用(即rm(temp1)rm(temp2))的情况下将它们从内存中删除?

我试过rm(list(temp1, temp2, etc.)),但似乎不起作用。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-07-24 13:54:36

将列表设置为字符矢量(而不是名称矢量)

代码语言:javascript
复制
rm(list = c('temp1','temp2'))

代码语言:javascript
复制
rm(temp1, temp2)
票数 134
EN

Stack Overflow用户

发布于 2012-07-24 14:31:54

另一个解决方案rm(list=ls(pattern="temp")),删除与该模式匹配的所有对象。

票数 122
EN

Stack Overflow用户

发布于 2012-07-24 14:09:34

或使用正则表达式

代码语言:javascript
复制
"rmlike" <- function(...) {
  names <- sapply(
    match.call(expand.dots = FALSE)$..., as.character)
  names = paste(names,collapse="|")
  Vars <- ls(1)
  r <- Vars[grep(paste("^(",names,").*",sep=""),Vars)]
  rm(list=r,pos=1)
}

rmlike(temp)
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11624885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档