variable una seleccionar repetidos repetidas renglon filas eliminar elemento datos contar como r caching

una - eliminar un elemento en r



eliminar todas las variables, excepto las funciones (4)

Aquí hay un trazador de líneas que elimina todos los objetos a excepción de las funciones:

rm(list = setdiff(ls(), lsf.str()))

Utiliza setdiff para encontrar el subconjunto de objetos en el entorno global (como lo devuelve ls() ) que no tienen function modo (como lo devuelve lsf.str() )

He cargado en una consola R diferentes tipos de objetos. Puedo eliminarlos a todos usando

rm(list=ls())

o eliminar solo las funciones (pero no las variables) usando

rm(list=lsf.str())

Mi pregunta es: ¿hay alguna manera de eliminar todas las variables, excepto las funciones


Aquí hay una función bastante conveniente que recogí en algún lugar y me adapté un poco. Sería bueno mantenerlo en el directorio.

list.objects <- function(env = .GlobalEnv) { if(!is.environment(env)){ env <- deparse(substitute(env)) stop(sprintf(''"%s" must be an environment'', env)) } obj.type <- function(x) class(get(x, envir = env)) foo <- sapply(ls(envir = env), obj.type) object.name <- names(foo) names(foo) <- seq(length(foo)) dd <- data.frame(CLASS = foo, OBJECT = object.name, stringsAsFactors = FALSE) dd[order(dd$CLASS),] } > x <- 1:5 > d <- data.frame(x) > list.objects() # CLASS OBJECT # 1 data.frame d # 2 function list.objects # 3 integer x > list.objects(env = x) # Error in list.objects(env = x) : "x" must be an environment


La respuesta publicada de setdiff es agradable. Solo pensé en publicar esta función relacionada que escribí hace un tiempo. Su utilidad depende del lector :-).

lstype<-function(type=''closure''){ inlist<-ls(.GlobalEnv) if (type==''function'') type <-''closure'' typelist<-sapply(sapply(inlist,get),typeof) return(names(typelist[typelist==type])) }


Puede usar el siguiente comando para borrar TODAS las variables. Tenga cuidado porque no puede recuperar sus variables.

rm(list=ls(all=TRUE))