Język R rozwija się coraz szybciej. Niegdyś służący wyłącznie statystykom, obecnie znajdujący coraz szersze zastosowania w wielu dziedzinach. O sile tego języka stanowi ponad 14 tysięcy pakietów dostępnych w repozytorium CRAN, służących do najrozmaitszych celów – a przecież są jeszcze pakiety udostępniane przez inne repozytoria. CRAN codziennie uzupełniany jest o kilka/kilkanaście nowych pozycji i nie sposób jest poznać je wszystkie.

Każdy użytkownik programu R powinien mieć świadomość, że choć najpopularniejsze narzędzia używane na co dzień wystarczają do przygotowania większości potrzebnych rozwiązań, to raz po raz przydaje się zajrzeć głębiej w poszukiwaniu ułatwiających życie pakietów. Dzieje się to zwłaszcza przy wizualizacji danych. Standardowy pakiet ggplot2 ma wiele przydatnych funkcji, ale jak każde jednolite w formie rozwiązanie, niesie też za sobą pewne ograniczenia. Dlatego przyjrzyjmy się kilku innym możliwościom, jakie R daje nam w zakresie wizualizacji.

Cowplot

Pakiet cowplot, jak wiele innych służących do wizualizacji danych, jest dodatkiem do ggplot2. Niesie on ze sobą trzy podstawowe funkcjonalności: pozwala przedstawiać wykresy na białym tle, bez charakterystycznej dla pakietu-matki szarości, ułatwia aranżowanie kilku wykresów w siatkę, jak również posiada funkcję ggdraw, służącą do nakładania rysunków na istniejącą wizualizację. Warto zaznaczyć, że ggdraw ma parametr alpha, dzięki czemu możemy łatwo nałożyć na wykres znak wodny.

 

Cowplot sample

O ile kolor tła jest zazwyczaj kwestią przyzwyczajeń, to już ułatwienia w tworzeniu oraz labelowaniu siatek z wykresów są bardzo przydatne, a służąca do tego celu funkcja plot_grid() – dość rozbudowana. Szczegółowe informacje na jej temat można znaleźć w dokumentacji CRAN.

Highcharter

Do wykresów interaktywnych w R używa się przede wszystkim plotly, ale naturalnie nie jest to jedyne dostępne źródło. Aby w prosty sposób tworzyć ciekawe dynamiczne wizualizacje, można wykorzystać znaną z JavaScript bibliotekę highcharts, która w R nosi nazwę highcharter. Wszystkie znane z klasycznego ggplot2 parametry można ustawić za pomocą jednej funkcji hchart(), a ponadto biblioteka ta ma sporo wbudowanych motywów, które można oczywiście dowolnie customizować.

Istotnym zastosowaniem highchartera jest rysowanie interaktywnych szeregów czasowych, szczególnie przydatnych do obrazowania sytuacji na rynkach finansowych. Kto kiedykolwiek miał styczność z inwestycjami, prawdopodobnie zetknął się z wykresami przygotowanymi właśnie za pomocą highcharts lub jego R-owego odpowiednika.

Highcharter udostępnia również narzędzie highmaps, które – jak nazwa sugeruje – pozwala wizualizować zarówno proste, jak i te bardziej skomplikowane mapy.

Szczegółowe opisy możliwości tego pakietu oraz przykłady są dostępne tutaj.

RColorBrewer

Problemy z odpowiednim dobraniem kolorów do wykresu miewał chyba każdy, kto zajmował się wizualizacją danych. ColorBrewer został stworzony przez dr Cynthię Brewer jako zbiór przykładowych palet kolorów w różnych konwencjach, które dobrze razem komponują się na jednym wykresie. Są tutaj zarówno palety jednobarwne, zmieniające barwę na osi jasne-ciemne, jak i wielokolorowe. Można wygenerować zestawy przyjazne daltonistom, odpowiednie do druku czy o różnym stopniu nasycenia. R zaadaptował to narzędzie na potrzeby pakietu, którego bez problemu użyjemy do wykresów przygotowanych z pomocą innych bibliotek. O tym, jak wykorzystać RColorBrewer w plotly, można przeczytać tutaj.

Standardowe palety składają się z około 10 odcieni, ale funkcja colorRampPalette() pozwala nam rozszerzyć ten zakres również do danych składających się z większej liczby kategorii lub ciągłych.

 

 

RColorBrewer sample
Zrzut ze strony colorbrewer2.org

prettyB

Ostatni omawiany pakiet to nowinka w CRAN i rzecz, która wydaje się uboga, porównując do rozbudowania poprzednich bibliotek, ale paradoksalnie może okazać się przydatna przy szybkim rysowaniu prostych wykresów. Jak można się domyślić, prettyB umożliwia rysowanie wykresów ładniejszych od klasycznych (co swoją drogą wydaje się być ostatnio dość pożądaną opcją) i póki co jest jedynie rozszerzeniem bazowych funkcji R.

Dla porównania poniżej widać najprostsze histogramy (z domyślnymi parametrami) dla tych samych danych, ze zmianą jedynie przy labelach i tytule.

Base graphics in R prettyB graphics R

Cokolwiek robimy w R, warto zawsze rozejrzeć się za ciekawymi bibliotekami. Dotyczy to zwłaszcza strony graficznej, w której zawsze można wymyślić coś atrakcyjnego wizualnie, a przecież to stanowi dużą wartość dla odbiorcy. Kilkanaście tysięcy wciąż ulepszanych bibliotek stwarza nam coraz więcej możliwości, a R powoli staje się coraz bardziej wartościowym językiem, który dawno przestał już być kojarzony wyłącznie z uniwersyteckimi profesorami statystyki.