Integracja Tableau z R - połączenie i zastosowanie

R jest językiem programowania i powszechnie wykorzystywanym środowiskiem open-source do analizy statystycznej. Obecnie ma ok. 2 mln użytkowników na całym świecie i udostępnia ponad 4300 pakietów z algorytmami i modelami statystycznymi. Tableau Desktop może łączyć się z R i korzystać z jego funkcjonalności: funkcji, bibliotek, pakietów. Umożliwia to w szczególności wykonywanie skomplikowanych obliczeń, przeprowadzanie testów statystycznych oraz budowę modeli statystycznych, w oparciu o które możemy prognozować nasze dane czy rozwiązywać problemy związane z ich klasyfikacją. Połączenie uzyskuje się poprzez pakiet Rserve, dzięki któremu korzystamy z R za pomocą pól kalkulowanych, a wyniki zwracane są z powrotem do Tableau i mogą podlegać dalszym analizom czy wizualizacjom. Tableau Server również może być skonfigurowany do łączenia się z Rserve z wykorzystaniem narzędzia tabadmin.

Połączenie z R krok po kroku

         Konfigurowanie połączenia należy rozpocząć od pobrania ze strony


wersji R odpowiedniej dla swojego oprogramowania. Opcjonalnie można zainstalować również program RStudio, którego bogatszy interfejs znacznie ułatwia pracę ze środowiskiem R.

Po zainstalowaniu programu R należy zainstalować pakiet Rserve. Nie trzeba tego robić ręcznie, można wpisać do konsoli programu R następującą komendę:

install.packages("Rserve")

Niezbędne jest do tego połączenie z internetem. W następnym kroku zmieniamy katalog roboczy na katalog, w którym został zainstalowany program R. Należy pamiętać, że ukośniki w ścieżce podanej jako argument do funkcji setwd() w R powinny być skierowane w przeciwną stronę, niż w Windowsie. 

setwd("C:/Program Files/R/R-3.0.2/bin/x64")

Wczytujemy do R bibliotekę Rserve, korzystając z komendy

library(Rserve)

oraz ustalamy ścieżkę do aktualnego R.DLL

Rserve()

Po wywołaniu komendy w konsoli programu R wyświetli się ścieżka do katalogu, w którym został umieszczony folder Rserve. Aktualnie jesteśmy połączeni - Rserve musi być zawsze uruchomiony, gdy chcemy uzyskać połączenie pomiędzy Tableau i R. Możemy uruchomiać go z poziomu konsoli programu R wywołując trzy ostatnie linijki kodu:

setwd("C:/Program Files/R/R-3.0.2/bin/x64")
library(Rserve)
Rserve()

Niektórym użytkownikom nieco prostsza może wydawać się druga metoda. Aby z niej korzystać należy jednorazowo skopiować zawartość katalogu, do którego ścieżka wyświetliła nam się w konsoli programu R, do katalogu, w którym zainstalowaliśmy program R (u mnie: C:/Program Files/R/R-3.0.2/bin/x64). Są to trzy pliki: Rserve.dll, Rserve, Rserve_d . Rserve możemy teraz uruchamiać za pomocą pliku o nazwie "Rserve", z katalogu, do którego wkleiliśmy pliki. Możemy utworzyć sobie skrót na pulpicie, aby przyspieszyć pracę. Po ręcznym uruchomieniu Rserve otworzy się okno poleceń, w których wypisany będzie komunikat: Rserve: Ok, ready to answer queries.”.  Jeśli chcemy, by połączenie wykonywało się automatycznie po każdym uruchomieniu systemu Windows, kopiujemy plik Rserve do folderu Startup.

Po pierwszym uruchomieniu Tableau Desktop wybieramy z menu programu następujące opcje:


Wpisujemy nazwę serwera: Localhost. Teraz możemy przetestować połączenie za pomocą opcji Test Connection. W odpowiedzi wyświetli się następujący komunikat: „Successfully connected to the Rserve service.”.



Jak korzystać z połączenia z R?

         W Tableau dostępne są cztery funkcje współpracujące ze środowiskiem R, które przyjmują wyniki obliczeń następujących typów:

logicznego (boolean),
- całkowitego (integer),
- rzeczywistego (real),
- tekstowego (string).

Jako pierwszy argument przyjmują one kod R, podany w cudzysłowie (pojedynczym lub podwójnym), a jako kolejne: zmienne z wczytanego do Tableau zbioru (zmienne liczbowe powinny być zagregowane).



Należy mieć na uwadze, że podwójny cudzysłów użyty wewnątrz kodu R zostanie przez Tableau potraktowany jako zakończenie sekwencji kodu R. Używanie pojedynczych cudzysłowów pozwala na obejście tego problemu.

Przykład zastosowania

Jedną z analiz jaką można przeprowadzić korzystając z R jest analiza skupień, popularnie nazywana klasteryzacją (ang. clustering). Zaprezentowany przykład wykonany został na zbiorze danych Iris Data Set, który można pobrać np. ze strony UCI (Machine Learning Repository):


Zbiór ten składa się z pięciu zmiennych: Petal.Length, Petal.Width, Sepal.Length, Sepal.Width oraz Species. Chcemy prognozować gatunek kwiatów grupując je ze względu na podobieństwo w cechach.




Wynikiem kalkulacji jest wektor liczbowy, który przyjmuje trzy wartości, ponieważ zmienna Species jest zmienną kategoryczną o trzech poziomach ("setosa", "versicolor", "virginica"). Po konwersji do typu dyskretnego możemy nanieść wektor Clusters na ikonkę Color w następującym widoku:




Kwiaty zostały zgrupowane ze względu na gatunek z poprawnością rzędu 89,3%.








KOMENTARZE

Nazwa

Alteryx,8,astrafox,1,ASTRAFOX ACADEMY,16,case study,16,Data Science,44,Konferencje,31,Mapy i geokodowanie,6,Opinie,1,Przygotowane danych - ETL,4,R,4,Tableau,202,Tips & Tricks,61,Wizualizacja danych,50,
ltr
item
Polski blog Tableau - ASTRAFOX: Integracja Tableau z R - połączenie i zastosowanie
Integracja Tableau z R - połączenie i zastosowanie
https://2.bp.blogspot.com/-2I43LF9fzKY/VkER8GBUiDI/AAAAAAAAALg/8NnYYr_EfiI/s640/image1.png
https://2.bp.blogspot.com/-2I43LF9fzKY/VkER8GBUiDI/AAAAAAAAALg/8NnYYr_EfiI/s72-c/image1.png
Polski blog Tableau - ASTRAFOX
http://blog.tableau-software.pl/2014/09/integracja-z-r-poaczenie-i-zastosowania.html
http://blog.tableau-software.pl/
http://blog.tableau-software.pl/
http://blog.tableau-software.pl/2014/09/integracja-z-r-poaczenie-i-zastosowania.html
true
9139349578575077505
UTF-8
Załadowano wszytskie posty Nie znaleziono żadnych postów ZOBACZ WSZYSTKIE Czytaj więcej Odpowiedz Usuń komentarz Usuń Napisane przez Home STRONY POSTY Zobacz wszystko POLECANE ETYKIETA ARCHIWUM SZUKAJ WSZYSTKIE POSTY Nie znaleziono tematów ani postów pasujących do twoich kryteriów Powrót Niedziela Poniedziałek Wtorek Środa Czwartek Piątek Sobota Nd Pon Wt Śr Czw Pt Sob Styczeń Luty Marzec Kwiecień Maj Czewiec Lipiec Sierpień Wrzesień Październik Listopad Grudzień Styczeń Luty Marzec Kwiecień Maj Czerwiec Lipiec Sierpień Wrzesień Październik Listopad Grudzień teraz minutę temu $$1$$ minutes ago godzinę temu $$1$$ hours ago wczoraj $$1$$ days ago $$1$$ weeks ago ponad 5 tygodni temu Obserwujący Obserwuj TO JEST TREŚĆ PREMIUM Udostępnij, by odblokować Kopiuj cały kod Zaznacz cały kod Cały kod został skopiowany Nie można skopiować kodu / tekstu, naciśnij [CTRL]+[C] (or CMD+C w Mac) by skopiować