Mi memoria se está atascando por un grupo de archivos intermedios (llámelos temp1, temp2, etc.). ¿Es posible eliminarlos de la memoria sin hacer rm(temp1)
, rm(temp2)
de a uno por vez? Intenté rm(list(temp1, temp2, etc.))
, pero eso no parece funcionar.Eliminar múltiples objetos con rm()
Respuesta
Hacer la lista de un vector de caracteres (no un vector de nombres)
rm(list = c('temp1','temp2'))
o
rm(temp1, temp2)
O el uso de 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)
Una otra solución rm(list=ls(pattern="temp"))
, eliminar todo objetos que coinciden con el patrón.
Descrito [aquí] (https://support.rstudio.com/hc/en-us/articles/200711843-Working-Directories-and-Workspaces) por Josh Paulson (no sabía qué 'ls (...) 'lo hizo, pero ahora supongo que es como la función de bash de Unix ls?) - gritos, Josh Paulson usó una variedad específica descrita por @Sam' Para eliminar todo en la memoria, puede decir: rm (list = ls()) ' –
Esto funciona bien, pero podría tener un pequeño error. Si hay un objeto con el nombre 'ABCtemp', también se eliminará. ¿Cómo puedo eliminar esos objetos que comienzan con 'temp' y mantener el 'ABCtemp'? – user3768495
Simplemente puede agregar más criterio a su patrón. Para su ejemplo, 'pattern ="^temp "' capturará solo la variable que comienza por "temp", por lo tanto no la variable 'ABCtemp'. – Alan
ls()
listará todas las variables. entonces, si prueba rm(list=ls())
, borrará todas las variables.
Esto no es la pregunta, y vea los comentarios bajo la respuesta aceptada. – Tensibai
Otra variación que puedes probar es (expandiendo la respuesta de @ mnel) si tienes muchos temp'x '.
aquí "n" podría ser el número de variables temporales presentes
rm(list = c(paste("temp",c(1:n),sep="")))
- 1. ¿Carpeta Cant RM con GIT rm?
- 2. Eliminar múltiples objetos en django
- 3. rm: no se puede eliminar: Permiso denegado
- 4. rm-rf rf frente -rm
- 5. ¿Por qué usar 'git rm' para eliminar un archivo en lugar de 'rm'?
- 6. Powershell Comando: rm -rf
- 7. Cygwin: diferencia entre el comando '\ rm -fr' y 'rm -fr'?
- 8. git add/rm (cometer)
- 9. ¿Cómo puedo recuperar múltiples objetos con JPA?
- 10. RM -rf equivalente para Windows?
- 11. Git - rm equivalente para "agregar."?
- 12. Eliminar objetos en .GlobalEnv desde dentro de una función
- 13. Forma correcta de eliminar archivos no deseados con git filter-branch sin fallo de git rm
- 14. ¿Cómo agregar y confirmar las eliminaciones realizadas con "rm" en lugar de "git rm"?
- 15. ¿Cómo eliminar objetos no utilizados de un repositorio de git?
- 16. Bash: ¿Cuál es la diferencia entre "rm -d" y "rm -R"?
- 17. ¿Cómo eliminar múltiples filas?
- 18. Diferencia entre 'find -delete' y 'rm -rf'?
- 19. Eliminar objetos de tipo incompleto
- 20. Eliminar objetos al desconectar socket.io
- 21. git no puede rm - archivos caché
- 22. Eliminación de archivos utilizando el comando rm
- 23. ¿Cómo eliminar archivos comenzando con doble guion?
- 24. Eliminar duplicados en la lista de objetos con Python
- 25. Eliminar objetos con una propiedad duplicada de la lista
- 26. iOS: ¿Cómo eliminar objetos de la memoria con ARC habilitado?
- 27. Objective-C NSMutableArray - bucle foreach con objetos de múltiples clases
- 28. ASP.NET MVC: publicar objetos complejos múltiples con el formulario
- 29. ¿Cómo eliminar múltiples directorios virtuales?
- 30. ¿Puedes eliminar múltiples ramas en un comando con Git?
Para eliminar todo en la memoria, se puede decir: rm (list = ls()) – Sam
@ Sam 'rm (list = ls (todo = VERDADERO)) 'si quieres estar seguro de obtener todo. – Dason