Przyszłość ggvis

data-science
W przybliżeniu taki tytuł nosił referat Hadleya Wickhama, ale w rzeczywistości był to referat o przyszłości universum pakietów tworzonych i współtworzonych przez Hadleya.
A jest to ciekawy kierunek, więc poniżej napiszę o nim trochę więcej. (btw: zaproponował by zamiast hadleyverse używać nazwy tidyverse. Dlaczego tidy? o tym poniżej).

Prezentacja była świetnie przygotowana. Była jedną z dwóch najlepszych tego useR (drugą była prezentacja Donalda Knutha, ale z zupełnie innego powodu).
Niedługo powinna być dostępna pod tym adresem.

Jednym z ciekawszych wątków był wybór stawiany przed R pomiędzy byciem językiem programowania a byciem językiem do interaktywnej analizy danych. Z pewnością R jest bardziej językiem eksploracji danych niż językiem programistów, stąd pozycje typu The R inferno, wytykające rozwiązania nie do pomyślenia w dojrzałych językach programowania. Niekonsekwencje, które przeszkadzają lub drażnią wielu programistów, są jednak czasem wprowadzane celowo, po to by ułatwić prace z danymi.

O jakie niekonsekwencje chodzi? Zagadka z prezentacji Hadleya jest następująca, co jest wynikiem poniższego kodu.

Programiści przyzwyczajeni do klasycznych języków programowania spodziewaliby się, że wynikiem jest albo błąd (w obiekcie df nie ma slotu x, jest xyz) albo wektor z napisem. A tymczasem wynikiem jest factor z uwagi na domyślne parametry data.frame (uzupełnianie nazw argumentów i domyślna konwersja do faktorów). R core podjął lata temu decyzje by budować język ułatwiający analizę danych a nie pracę programistów, stąd niektóre błędy są maskowane i ,,naprawiane’’ po cichu w tle.

Drugim wyborem o którym mówił Hadley jest rozdźwięk pomiędzy byciem konserwatywnym a utopistą. Przy czym konserwatywny oznacza tu dbający o wsteczną zgodność z poprzednimi wersjami a utopista oznacza radosną budowę nowych rzeczy czasem bez zachowywania ciągłości z przeszłością. Użytkownicy ggplot2 i pochodnych pakietów na własnej skórze doświadczyli, że Hadley stawia się raczej bliżej utopisty adoptującego nowe rozwiązania, w przeciwieństwie do R core, które stara się zachować stabilność i wsteczną kompatybilność.

No właśnie, w przypadku obu wyborów kierunek tidyverse okazał się inny, niż ten który wybrał R code.

A tidyverse rośnie w siłę, zapowiedziane są pakiety gggeom i ggstat które mają zająć się właściwym uporządkowaniem tworzenia geometrii i tworzenia statystyk. data.frame zostanie zastąpiony przez tibble.
Funkcje będą jeszcze bardziej leniwe (w sensie leniwej ewaluacji) a struktury obiektów ujednolicone (do ramek danych) przez co będzie można pracować na bardziej spójnych strukturach.
To uniwersum rozwiązań rozrastać się będzie wewnątrz R, ale stanie się od reszty R coraz bardziej niezależne.
Pokryje kluczowe aktywności wykonywane przy analizie danych, opisane na wykresie rozpoczynającym ten blog (oczywiście autorstwa HW).
A co będzie później?
Obserwując tempo rozwoju tego universum, dowiemy się już wkrótce.

Jedna myśl na temat “Przyszłość ggvis”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">