Mi memoria se está atascando por un grupo de archivos intermedios (llámalos temp1, temp2, etc.). ¿Es posible eliminarlos de la memoria sin hacer rm(temp1)
, rm(temp2)
uno por vez? Intenté rm(list(temp1, temp2, etc.))
, pero parece que no funciona.
Convierte la lista en un vector de caracteres (no en un vector de nombres)
rm(list = c('temp1','temp2'))
o
rm(temp1, temp2)
Otra solución rm(list=ls(pattern="temp"))
elimina todos los objetos que coinciden con el patrón.
O usando expresiones regulares
"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)
Otra variación que puedes probar es (expandiendo la respuesta de @ mnel) si tienes muchos temp’x ‘.
aquí “n” podría ser la cantidad de variables temporales presentes
rm(list = c(paste("temp",c(1:n),sep="")))