반응형
함수를 제외한 모든 변수 제거
R 콘솔에 다른 유형의 개체를로드했습니다. 나는 그들을 사용하여 모두 제거 할 수 있습니다.
rm(list=ls())
또는 다음을 사용하여 함수 만 제거하십시오 (변수 제외).
rm(list=lsf.str())
내 질문은 : 함수를 제외한 모든 변수를 제거하는 방법이 있습니까?
다음 은 함수를 제외한 모든 개체를 제거하는 한 줄입니다 .
rm(list = setdiff(ls(), lsf.str()))
그것은 사용 setdiff
(에 의해 반환되는 글로벌 환경에서 개체의 집합 찾아 ls()
모드가없는) function
(에 의해 반환 lsf.str()
)
게시 된 setdiff
답변이 좋습니다. 얼마 전에 작성한이 관련 기능을 게시 할 것이라고 생각했습니다. 그것의 유용성은 독자에게 달려 있습니다 :-).
lstype<-function(type='closure'){
inlist<-ls(.GlobalEnv)
if (type=='function') type <-'closure'
typelist<-sapply(sapply(inlist,get),typeof)
return(names(typelist[typelist==type]))
}
다음 명령을 사용하여 모든 변수를 지울 수 있습니다. 변수를 되 찾을 수 없으므로주의하십시오.
rm(list=ls(all=TRUE))
여기 내가 어딘가에서 집어 들고 약간 조정 한 매우 편리한 기능이 있습니다. 디렉토리에 보관하는 것이 좋을 수 있습니다.
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
참고 URL : https://stackoverflow.com/questions/8305754/remove-all-variables-except-functions
반응형
'IT박스' 카테고리의 다른 글
VIM에서 대용량 파일 작업 (0) | 2020.08.10 |
---|---|
Visual Studio SP1 오류 : silverlight_sdk.msi를 사용할 수 없습니다. (0) | 2020.08.10 |
`var {…} =…`문에서 중괄호는 무엇을합니까? (0) | 2020.08.10 |
XSD : xs : integer와 xs : int의 차이점은 무엇입니까? (0) | 2020.08.10 |
이 컨텍스트에서는 요청을 사용할 수 없습니다. (0) | 2020.08.10 |