[r] 작업 공간에서 몇 가지 특정 객체 만 지우려면 어떻게해야합니까?

작업 공간에서 일부 데이터를 제거하고 싶습니다. “모두 지우기”버튼을 누르면 모든 데이터가 제거됩니다. 그러나 특정 데이터 만 제거하고 싶습니다.

예를 들어 데이터 섹션에 다음 데이터 프레임이 있습니다.

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부분 이름을 사용하여 객체를 찾는 데 사용되는 기능을 사용할 수 있습니다 .

a
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).


댓글 달기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다