{listviewer} 패키지에서 목록 유형 데이터를 시각화해 봅시다.

4566 단어 RRStudio
이 기사는 RStudio Advent Calendar 2016의 13 일째 기사입니다.

list형 데이터의 내용을 확인하려면



R을 사용하면 list형 데이터를 자주 만난다. 매우 유연한 데이터 구조를 가질 수 있기 때문에 다양한 곳에서 출력으로 사용되고 있습니다. 다만, API등으로 취득한 큰 데이터등이라면 「도대체 어떤 내용인가」라든가 「그 데이터는 어디에 있다」라고 하는 느낌으로, 고생하는 것이 많을까 생각합니다.

이번에는 {listviewer}라는 패키지를 사용하여 목록 유형 데이터를 시각화해 보겠습니다.

이번에 사용할 샘플



이번에 사용하는 list 형 데이터로서 {DiagrammeR} 패키지로 생성 한 것을 사용해 보겠습니다. 이 코드는 본가의 이쪽의 페이지 을 이용해 가져왔습니다.
library(DiagrammeR)

m <- mermaid("
sequenceDiagram
  customer->>ticket seller: ask ticket
  ticket seller->>database: seats
  alt tickets available
    database->>ticket seller: ok
    ticket seller->>customer: confirm
    customer->>ticket seller: ok
    ticket seller->>database: book a seat
    ticket seller->>printer: print ticket
  else sold out
    database->>ticket seller: none left
    ticket seller->>customer: sorry
  end
")

전통적인 확인 방법



R에는 str()라는 명령이 있습니다.이를 사용하면 R 객체의 구조를 볼 수 있습니다.
str(m)

출력은 다음과 같습니다.
List of 8
 $ x            :List of 1
  ..$ diagram: chr "\nsequenceDiagram\n  customer->>ticket seller: ask ticket\n  ticket seller->>database: seats\n  alt tickets available\n    data"| __truncated__
 $ width        : NULL
 $ height       : NULL
 $ sizingPolicy :List of 6
  ..$ defaultWidth : NULL
  ..$ defaultHeight: NULL
  ..$ padding      : NULL
  ..$ viewer       :List of 6
  .. ..$ defaultWidth : NULL
  .. ..$ defaultHeight: NULL
  .. ..$ padding      : NULL
  .. ..$ fill         : logi TRUE
  .. ..$ suppress     : logi FALSE
  .. ..$ paneHeight   : NULL
  ..$ browser      :List of 4
  .. ..$ defaultWidth : NULL
  .. ..$ defaultHeight: NULL
  .. ..$ padding      : NULL
  .. ..$ fill         : logi FALSE
  ..$ knitr        :List of 3
  .. ..$ defaultWidth : NULL
  .. ..$ defaultHeight: NULL
  .. ..$ figure       : logi TRUE
 $ dependencies : NULL
 $ elementId    : NULL
 $ preRenderHook: NULL
 $ jsHooks      : list()
 - attr(*, "class")= chr [1:2] "DiagrammeR" "htmlwidget"
 - attr(*, "package")= chr "DiagrammeR"

글쎄, 꽤 까다로운 구조입니다. 물론 RStudio의 Environment에서 표시시켜도 같은 것이 나옵니다. 솔직히 보기 어렵습니다.

{listviewer} 패키지



{listviewer} 패키지 은 R에 의한 시각화로 유명한 timelyportfolio씨가 개발한 패키지로, jsoneditor 라는 js 라이브러리를 R의 {htmlwidgets} 패키지를 이용하여 도입한 것입니다.

CRAN에 있기 때문에 설치는 항상 괜찮습니다.
isntall.packages("listviewer")

실행은 jsonedit() 함수



그럼 실제로 사용해 보겠습니다. 방금 전을 jsonedit() 함수에 던지면 다음과 같이 느껴집니다.
jsonedit(m)



RStudio의 Viewer에 정확히 그것 같은 것이 표시될까 생각합니다.

사용법



이제 거의 보았습니다. 삼각형을 클릭하면 깊은 계층의 것이 표시됩니다. 그리고 검색창에 키워드를 입력하면 찾아와서 하이라이트 표시&점프할 수 있게 됩니다. 필드명이나 값명에서도 검색해 줄 것입니다.



그리고, 데이터의 편집도 가능 같지만, 개인적으로 데이터를 괴롭히는 경우 GUI로 하고 싶지 않으므로 검증하지 않습니다.

조금 재료입니다만, list형으로 언제나 귀찮은 생각을 하고 있던 분은, 체크해 보는 것은 어떻습니까.

Enjoy!

좋은 웹페이지 즐겨찾기