rm()으로 원하는 변수만 메모리에서 제거하기

안녕하세요? 알마스터입니다.
얼마전에 이런 질문이 들어왔습니다.
"원하는 이름의 변수만 어떻게 지우나요? 예를 들어 temp.로 시작하는 변수만 다 지우고 싶어요."
제가 입버릇처럼 말하는 '생각보다 쉬워요..'라고 하며 설명을 드렸다가... 블친님들께서도 궁금해 하실 것 같아 글을 씁니다.

먼저 복습.


> ls() #변수의 이름을 보여줍니다. > rm() #변수를 지웁니다. > rm(list=) #지울 변수의 목록을 지정합니다. > rm(list=ls()) #이러면 지금 메모리에 올라와 있는 것은 다 지웁니다.





이것을 조금 응용하면 정규식을 써서 패턴이 일치되는 것만 지울 수 있습니다.


> rm(list=ls()[stringr::str_detect(ls(),"^temp\\.")])


stringr 패키지의 str_detect()함수는 주어진 문자열에서 정규식을 만족시키는 것을 TRUE로, 그렇지 않은 것을 FALSE로 반환합니다.

생각보다 쉽죠?

댓글

이 블로그의 인기 게시물

R에서 csv 파일 읽는 법

xlwings tutorial - 데이터 계산하여 붙여 넣기