7.2 htmlwidgets
ggplot2
는 플로팅하는데 필요한 대부분의 기능을 제공하지만, 분석과 상호 작용하거나 매우 전문화된 그래픽을 추가하고 싶을 때가 있다. htmlwidget
은 다음과 같은 용도로 사용할 수있는 패키지 모음으로, R 분석에 다음 수준의 시각화를 추가하는데 사용될 수 있다.
htmlwidgets는 원래 웹 사이트 용으로 개발된 오픈 소스 자바 스크립트 위젯을 통합할 수있는 기능을 제공한다. 사용 가능한 전체 위젯 목록을 보려면 웹 사이트를 참고하기 바란다. 이러한 위젯 중 상당수는 시각화하려는 문제 유형에 매우 구체적이다. 지도, 시계열, 네트워크 그래프 및 일부 D3 그래픽에 대한 위젯을 찾을 수 있다.
하나의 htmlwidget
, plotly
를 사용하여 마지막 섹션에서 만든 플롯을 웹 지원 대화형 위젯으로 바꿀 수 있다. plotly
는 gglot2
와 함께 작동하고 실제로 ggplo2
를 다음 수준으로 가져 가기 때문에 흥미롭다. 다음은 plotly
를 사용하여 ggplot2
플롯에 상호 작용을 추가하는데 필요한 것들이다.
library(plotly)
i_plot <- expectancy %>%
filter(race == "All Races") %>%
ggplot(aes(year, life_expectancy)) +
geom_line(aes(color = sex))
ggplotly(i_plot)
이 코드는 ggplot2
에서했던 것과 매우 유사하다. 그러나 이번에는 결과를 개체에 할당하고 해당 개체를 매개 변수로 ggplotly
에 사용하여 그림 7.5에서 볼 수있는 대화형 플롯을 만든다.
이제 이 플롯에는 세부 정보 팝업과 상단에 탐색 그림이 있는 도구 모음이 포함된다. 이후 장에서 일관된 보고서와 대시 보드를 작성하는 방법을 학슬할 때 이와 같은 위젯을 포함하여 사용자를 위한 풍부한 대화형 환경을 만들 수 있다.
계속 진행하기 전에 DT
패키지의 Datatables
구성 요소를 살펴보자. Datatables
는 데이터 세트에 대한 검색 가능한 HTML 프레젠테이션을 생성하는 매우 유용한 대화형 HTML 위젯이다. 예를 들어 데이터 세트의 검색 가능한 버전을 사용자에게 직접 제공하려면 다음과 같이 하면된다.
library(DT)
datatable(expectancy, options = list(pageLength = 10))
그러면 데이터로 채워진 검색 가능한 대화형 테이블로 그림 7.6과 같은 위젯이 생성된다.