我的内存被一堆中间文件(称为temp1
、temp2
等)阻塞了。我想知道是否有可能在不进行重复的rm
调用(即rm(temp1)
、rm(temp2)
)的情况下将它们从内存中删除?
我试过rm(list(temp1, temp2, etc.))
,但似乎不起作用。
发布于 2012-07-24 13:54:36
将列表设置为字符矢量(而不是名称矢量)
rm(list = c('temp1','temp2'))
或
rm(temp1, temp2)
发布于 2012-07-24 14:31:54
另一个解决方案rm(list=ls(pattern="temp"))
,删除与该模式匹配的所有对象。
发布于 2012-07-24 14:09:34
或使用正则表达式
"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)
https://stackoverflow.com/questions/11624885
复制相似问题