para - poligono en r
¿Cómo elimino solo algunos objetos específicos del área de trabajo? (9)
Me gustaría eliminar algunos datos del espacio de trabajo. Sé que el botón "Borrar todo" eliminará todos los datos. Sin embargo, me gustaría eliminar solo ciertos datos.
Por ejemplo, tengo estos marcos de datos en la sección de datos:
data
data_1
data_2
data_3
Me gustaría eliminar data_1
, data_2
y data_3
, mientras data_3
data
.
Intenté data_1 <- data_2 <- data_3 <- NULL
, que elimina los datos (creo), pero aún los mantiene en el área de trabajo, por lo que no es completamente lo que me gustaría hacer.
Encontrarás la respuesta tecleando ?rm
rm(data_1, data_2, data_3)
Para borrar todos los datos:
haga clic en Misc>Remove all objects
.
Tu bueno para ir.
Para borrar la consola:
haga clic en edit>Clear console
.
No hay necesidad de ningún código.
Puede usar la función apropos
que se usa para encontrar los objetos usando nombre parcial.
rm(list = apropos("data_"))
Seguir el comando hará
rm(list=ls(all=TRUE))
Si está utilizando RStudio, considere nunca usar el enfoque rm(list = ls())
. * En su lugar, debe construir su flujo de trabajo con frecuencia utilizando el atajo Ctrl
+ Shift
+ F10
para reiniciar su sesión R. Esta es la forma más rápida de desarticular el conjunto actual de variables definidas por el usuario Y borrar paquetes cargados, dispositivos, etc. La reproducibilidad de su trabajo aumentará marcadamente al adoptar este hábito.
Vea este hilo excelente en la comunidad de Rstudio para (h / t @kierisi) para una discusión más a fondo (la esencia principal está capturada por lo que ya he indicado).
Debo admitir que mis propios primeros años de codificación R presentaron guiones y guiones comenzando con el rm
"truco": estoy escribiendo esta respuesta como un consejo para cualquier persona que pueda comenzar sus carreras en R.
* por supuesto, hay usos legítimos para esto, como attach
, pero los usuarios principiantes estarán mucho mejor atendidos (IMO) cruzando ese puente en una fecha posterior.
Si solo desea eliminar uno de un grupo de variables, puede crear una lista y mantener solo la variable que necesita. La función rm se puede usar para eliminar todas las variables además de "datos". Aquí está el guión:
0->data
1->data_1
2->data_2
3->data_3
#check variables in workspace
ls()
rm(list=setdiff(ls(), "data"))
#check remaining variables in workspace after deletion
ls()
#note: if you just use rm(list) then R will attempt to remove the "list" variable.
list=setdiff(ls(), "data")
rm(list)
ls()
Una forma útil de eliminar un conjunto completo de objetos con nombres similares:
rm(list = ls()[grep("^tmp", ls())])
eliminando así todos los objetos cuyo nombre comienza con la cadena "tmp".
Editar: siguiendo el comentario de Gsee, haciendo uso del argumento de pattern
:
rm(list = ls(pattern = "^tmp"))
Editar: Al responder el comentario de Rafael, una forma de retener solo un subconjunto de objetos es nombrar los datos que desea conservar con un patrón específico. Por ejemplo, si quisiera eliminar todos los objetos cuyo nombre no empiece por paper
, emitiría el siguiente comando:
rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))
Use el siguiente comando
remove(list=c("data_1", "data_2", "data_3"))
paste0("data_",seq(1,3,1))
# makes multiple data.frame names with sequential number
rm(list=paste0("data_",seq(1,3,1))
# above code removes data_1~data_3