본문 바로가기
R 주제/R 기초 및 통계 강의

[R강의] 146. attach 함수와 detach 함수

by 만다린망고 2023. 3. 23.
반응형

내장데이터인 iris 를 이용하여 attach 함수와 detach 함수를 설명하겠습니다. iris 데이터에는 아래와 같이 다섯개의 열이 있습니다. 

> head(iris)
  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa


첫번째 열에 접근하는 방법은 여러가지가 있는데 그 중 한 가지를 예를 들면 아래와 같습니다. 

> iris['Sepal.Length']


iris 데이터에 attach 함수를 적용해봅시다. 

> attach(iris)


이제 콘솔 창에 Sepal.Length 라고만 입력해도 첫번째 열에 접근이 가능합니다. 

> Sepal.Length
  [1] 5.1 4.9 4.7 4.6 5.0 5.4 4.6 5.0 4.4 4.9 5.4 4.8 4.8 4.3 5.8 5.7 5.4
 [18] 5.1 5.7 5.1 5.4 5.1 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5
 [35] 4.9 5.0 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 7.0
 [52] 6.4 6.9 5.5 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8
 [69] 6.2 5.6 5.9 6.1 6.3 6.1 6.4 6.6 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4
 [86] 6.0 6.7 6.3 5.6 5.5 5.5 6.1 5.8 5.0 5.6 5.7 5.7 6.2 5.1 5.7 6.3 5.8
[103] 7.1 6.3 6.5 7.6 4.9 7.3 6.7 7.2 6.5 6.4 6.8 5.7 5.8 6.4 6.5 7.7 7.7
[120] 6.0 6.9 5.6 7.7 6.3 6.7 7.2 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7
[137] 6.3 6.4 6.0 6.9 6.7 6.9 5.8 6.8 6.7 6.7 6.3 6.5 6.2 5.9


attach 함수가 어떤 역할을 하는지 감이 오실겁니다. attach 함수는 객체의 이름을 검색 디렉토리에 추가해줍니다. search() 라고 콘솔 창에 입력하면 확인할 수 있습니다. 

> search()
 [1] ".GlobalEnv"        "iris"              "package:readxl"   
 [4] "tools:rstudio"     "package:stats"     "package:graphics" 
 [7] "package:grDevices" "package:utils"     "package:datasets" 
[10] "package:methods"   "Autoloads"         "org:r-lib"        
[13] "package:base"


이렇게 검색 디렉토리에 추가되면, 해당 대상의 하위 항목을 이름만으로 불러올 수 있습니다. iris 데이터가 추가되어 있으므로 하위 항목인 열이름만으로 각 열을 불러올 수 있게 된 것입니다. 

검색 디렉토리에서 제거할 때 사용하는 함수가 detach() 입니다. 

> detach(iris)
> search()
 [1] ".GlobalEnv"        "package:readxl"   
 [3] "tools:rstudio"     "package:stats"    
 [5] "package:graphics"  "package:grDevices"
 [7] "package:utils"     "package:datasets" 
 [9] "package:methods"   "Autoloads"        
[11] "org:r-lib"         "package:base"

 

 

 

반응형

댓글