Tengo un espacio de trabajo con muchos objetos y me gustaría eliminar todos menos uno. Idealmente, me gustaría evitar tener que escribir rm(obj.1, obj.2... obj.n)
. ¿Es posible indicar remove all objects but these ones
?
219
Aquí hay una construcción simple que lo hará, usando setdiff
:
rm(list=setdiff(ls(), "x"))
Y un ejemplo completo. Ejecute esto bajo su propio riesgo: eliminará todas las variables, excepto x
:
x <- 1
y <- 2
z <- 3
ls()
[1] "x" "y" "z"
rm(list=setdiff(ls(), "x"))
ls()
[1] "x"
Usar la
keep
función delgdata
paquete es bastante conveniente.fuente
Creo que otra opción es abrir el espacio de trabajo en RStudio y luego cambiar la lista a la cuadrícula en la parte superior derecha del entorno (imagen a continuación). Luego marque los objetos que desea borrar y finalmente haga clic en borrar.
fuente
Acabo de pasar varias horas buscando la respuesta a una pregunta similar pero ligeramente diferente: necesitaba poder eliminar todos los objetos en R (incluidas las funciones) excepto un puñado de vectores.
Una forma de hacer esto:
Donde los vectores que quiero mantener se llaman 'a' y 'c'.
¡Espero que esto ayude a cualquiera que busque la misma solución!
fuente
rm(list=setdiff(ls(), c("a", "c")))
¿verdad? Ver la respuesta de @ Andrie.Para mantener todos los objetos cuyos nombres coinciden con un patrón, puede usar
grep
, así:fuente
Reemplace
v
con el nombre del objeto que desea mantenerhat-tip: http://r.789695.n4.nabble.com/Removing-objects-and-clearing-memory-tp3445763p3445865.html
fuente
Esto aprovecha
ls()
lapattern
opción de, en el caso de que tenga muchos objetos con el mismo patrón que no desea conservar:fuente
rm
función siempre debe usarse con cuidado (¡más en el shell!). Vea mi edición para obtener una respuesta a su pregunta.fuente
pensemos de otra manera, ¿y si queremos eliminar un grupo? prueba esto,
Personalmente no me gustan muchas tablas, variables en mi pantalla, pero no puedo evitar usarlas. Así que nombro las cosas temporales que comienzan con "xxx", para poder eliminarlas después de que ya no se usen.
fuente
Desde una función, rm todos los objetos en .GlobalEnv excepto la función
fuente
Para mantener una lista de archivos, uno puede usar:
fuente
¿Qué tal esto?
fuente
suponiendo que desea eliminar todos los objetos excepto df del entorno:
fuente
fuente
Lo siguiente eliminará todos los objetos de su consola
fuente