Escribí esto para eliminar todos los objetos además de las funciones del entorno actual (el lenguaje de programación utilizado es R con IDE R-Studio):
remove_list=c() # create a vector
for(i in 1:NROW(ls())){ # repeat over all objects in environment
if(class(get(ls()[i]))!="function"){ # if object is *not* a function
remove_list=c(remove_list,ls()[i]) # ..add to vector remove_list
}
}
rm(list=remove_list) # remove all objects named in remove_list
Notas
El argumento "lista" en rm (lista =) debe ser un vector de caracteres.
El nombre de un objeto en la posición i del entorno actual se devuelve de ls () [i] y el objeto en sí mismo de get (ls () [i]). Por lo tanto, la clase de un objeto se devuelve desde class (get (ls () [i]))
rm(list=setdiff(ls(all.names=TRUE), lsf.str(all.names=TRUE)))