본문 바로가기
2. 데이터/1) 데이터 불러오기

[R] 패키지에서 제공하는 데이터 확인하는 방법 (+데이터목록 변수저장)

by makhimh 2019. 12. 21.
반응형

[R] 패키지에 있는 데이터 확인하는 방법 (+데이터목록 변수저장)


우리가 설치하는 패키지마다 내장 데이터가 있습니다. 패키지가 제공하는 내장데이터 목록을 출력하고 싶을 때 사용하는 명령어를 알아봅시다. 



MASS라는 패키지에 있는 데이터셋이 궁금했습니다. R 콘솔 창에 아래와 같이 입력합니다. 


> data(package="MASS")


새 창에 데이터 목록과 설명이 출력됩니다. 데이터 리스트가 어떤 변수에 저장되는 것이 아니라 새 창에 설명이 뜨는 형태입니다. 


만약 MASS라는 패키지에 있는 데이터의 이름들만 변수에 저장하고 싶다면 어떻게 해야 할까요? 먼저 MASS 데이터의 구조를 파악해야 합니다. 아래와 같이 변수에 저장하고, 변수에 str함수를 적용해봅시다. 


> md=data(package="MASS")

> str(md)

List of 4

 $ title  : chr "Data sets"

 $ header : NULL

 $ results: chr [1:87, 1:4] "MASS" "MASS" "MASS" "MASS" ...

  ..- attr(*, "dimnames")=List of 2

  .. ..$ : NULL

  .. ..$ : chr [1:4] "Package" "LibPath" "Item" "Title"

 $ footer : NULL

 - attr(*, "class")= chr "packageIQR"


data함수로 불러온 결과는 리스트 형태이며, 제목은 results 라는 하위항목(빨간부분)에 저장되어 있다는 것을 알 수 있습니다. md$results 라는 경로에 View 함수를 적용해봅시다. 


> View(md$results)



md$results 의 세번째 열이 제목입니다. 


따라서 아래와 같이 제목만 변수로 저장할 수 있습니다. 


> MASS_data_title=md$results[,3]

> MASS_data_title

 [1] "Aids2"     "Animals"   "Boston"    "Cars93"    "Cushings"  "DDT"       "GAGurine"  "Insurance"

 [9] "Melanoma"  "OME"       "Pima.te"   "Pima.tr"   "Pima.tr2"  "Rabbit"    "Rubber"    "SP500"    

[17] "Sitka"     "Sitka89"   "Skye"      "Traffic"   "UScereal"  "UScrime"   "VA"        "abbey"    

[25] "accdeaths" "anorexia"  "bacteria"  "beav1"     "beav2"     "biopsy"    "birthwt"   "cabbages" 

[33] "caith"     "cats"      "cement"    "chem"      "coop"      "cpus"      "crabs"     "deaths"   

[41] "drivers"   "eagles"    "epil"      "farms"     "fgl"       "forbes"    "galaxies"  "gehan"    

[49] "genotype"  "geyser"    "gilgais"   "hills"     "housing"   "immer"     "leuk"      "mammals"  

[57] "mcycle"    "menarche"  "michelson" "minn38"    "motors"    "muscle"    "newcomb"   "nlschools"

[65] "npk"       "npr1"      "oats"      "painters"  "petrol"    "phones"    "quine"     "road"     

[73] "rotifer"   "ships"     "shoes"     "shrimp"    "shuttle"   "snails"    "steam"     "stormer"  

[81] "survey"    "synth.te"  "synth.tr"  "topo"      "waders"    "whiteside" "wtloss"   


그런데, 패키지에 있는데이터를 확인하는 것과 불러오는 것은 다른 이야기입니다. MASS 패키지가 제공하는 데이터 중 하나인 Boston 을 콘솔에 입력하면 아래와 같은 에러가 뜹니다. 


> Boston

에러: 객체 'Boston'를 찾을 수 없습니다


이 문제를 어떻게 해결할 수 있을까요? 


▶R 패키지가 제공하는 데이터 불러오는 방법

반응형

댓글