[r] rm ()으로 여러 객체 제거
내 기억은 많은 중간 파일 (temp1, temp2 등)로 인해 막히고 있습니다. 그것은하지 않고 메모리에서 제거 할 수 있습니다 rm(temp1)
, rm(temp2)
한 번에 하나씩? 시도 rm(list(temp1, temp2, etc.))
했지만 작동하지 않는 것 같습니다.
답변
목록을 문자형 벡터로 만듭니다 (이름 벡터가 아님).
rm(list = c('temp1','temp2'))
또는
rm(temp1, temp2)
답변
다른 해결책 rm(list=ls(pattern="temp"))
은 패턴과 일치하는 모든 개체를 제거하는 것입니다.
답변
또는 정규식 사용
"rmlike" <- function(...) {
names <- sapply(
match.call(expand.dots = FALSE)$..., as.character)
names = paste(names,collapse="|")
Vars <- ls(1)
r <- Vars[grep(paste("^(",names,").*",sep=""),Vars)]
rm(list=r,pos=1)
}
rmlike(temp)
답변
시도 할 수있는 또 다른 변형은 temp’x ‘가 많은 경우 (@mnel의 답변 확장)입니다.
여기서 “n”은 존재하는 임시 변수의 수입니다.
rm(list = c(paste("temp",c(1:n),sep="")))