작업 공간에서 일부 데이터를 제거하고 싶습니다. “모두 지우기”버튼을 누르면 모든 데이터가 제거됩니다. 그러나 특정 데이터 만 제거하고 싶습니다.
예를 들어 데이터 섹션에 다음 데이터 프레임이 있습니다.
data
data_1
data_2
data_3
나는 제거 할 것인지 data_1
, data_2
그리고 data_3
유지하면서 data
.
나는 data_1 <- data_2 <- data_3 <- NULL
데이터를 제거하는 (내 생각에는) 시도 했지만 여전히 작업 영역 영역에 유지하므로 완전히하고 싶은 것은 아닙니다.
답변
당신은 입력하여 답변을 찾을 수 있습니다 ?rm
rm(data_1, data_2, data_3)
답변
명명 된 객체 전체를 제거하는 유용한 방법 :
rm(list = ls()[grep("^tmp", ls())])
이름이 “tmp”로 시작하는 모든 객체를 제거합니다.
편집 : Gsee의 의견에 따라 pattern
인수 를 사용하십시오 .
rm(list = ls(pattern = "^tmp"))
편집 : 객체의 하위 집합 만 유지하는 한 가지 방법은 Rafael 주석에 응답하여 유지하려는 데이터의 이름을 특정 패턴으로 지정하는 것입니다. 예를 들어, 이름으로 시작하지 않는 모든 객체를 제거 paper
하려면 다음 명령을 실행하십시오.
rm(list = grep("^paper", ls(), value = TRUE, invert = TRUE))
답변
다음 명령이 수행됩니다
rm(list=ls(all=TRUE))
답변
다음 명령을 사용하십시오
remove(list=c("data_1", "data_2", "data_3"))
답변
apropos
부분 이름을 사용하여 객체를 찾는 데 사용되는 기능을 사용할 수 있습니다 .
rm(list = apropos("data_"))
답변
변수 그룹 중 하나를 제거하려는 경우 목록을 작성하고 필요한 변수 만 유지할 수 있습니다. rm 함수는 “데이터”를 제외한 모든 변수를 제거하는 데 사용할 수 있습니다. 스크립트는 다음과 같습니다.
0->data
1->data_1
2->data_2
3->data_3
#check variables in workspace
ls()
rm(list=setdiff(ls(), "data"))
#check remaining variables in workspace after deletion
ls()
#note: if you just use rm(list) then R will attempt to remove the "list" variable.
list=setdiff(ls(), "data")
rm(list)
ls()
답변
RStudio를 사용하는 경우 rm(list = ls())
접근 방식을 사용하지 않는 것이 좋습니다 ! * 대신 Ctrl
+ Shift
+를 자주 사용하는 워크 플로우를 구축해야합니다.F10
당신의 R 세션을 다시 시작하는 바로 가기를. 이는 현재 사용자 정의 변수 세트를 압축하고로드 된 패키지, 장치 등을 지우는 가장 빠른 방법입니다.이 습관을 채택하면 작업의 재현성이 현저하게 증가합니다.
참조 이 우수한 스레드 (주요 요점은 내가 이미 언급 한 내용에 의해 캡처)보다 철저한 논의를위한 Rstudio 커뮤니티 (H / t @kierisi을).
rm
“트릭”으로 시작한 스크립트 이후에 처음 몇 년간의 R 코딩 기능을 갖춘 스크립트를 인정해야합니다. 저는이 답변을 R 경력을 시작한 다른 사람들에게 조언으로 쓰고 있습니다.
* 물론 이것에 대한 합법적 인 용도가 attach
있지만 초보자는 나중에 그 다리를 건너 훨씬 더 나은 서비스를받을 것입니다 (IMO).
