Programowanie w języku R

JeremiaszP/ Wrzesień 26, 2017/ Książki/ 0 comments

Okładka książki

Książka dr. inż. Marka Gągolewskiego Programowanie w języku R. Analiza danych, obliczenia, symulacje jest książką nieco nietypową, jeżeli o środowisko R chodzi. Zazwyczaj kojarzymy język R tylko z analizą statystyczną lub z darmowym odpowiednikiem pakietów typu SAS, Statistica, czy Mathematica. Programowanie w języku R to jednak znacznie więcej niż statystyka, co zresztą opisuję w tej recenzji.

Programowanie w języku R podchodzi do języka R jako do pełnoprawnego środowiska programistycznego, w którym nie tylko możemy przeprowadzać znane skądinąd z R obliczenia typu ANOVA, regresja liniowa itd. Absolutnie nie: R to potężny język programowania, w którym zaprogramujemy własne aplikacje. Muszę tutaj zaznaczyć, że w mojej ocenie R jest bardzo podobny do języka Python. Tak więc, jeżeli czytelnik jest już zaznajomiony z Pythonem, to w środowisku R będzie czuł się jak w domu.

Autorem książki jest dr inż. Marek Gągolewski

Pierwsza część książki Programowanie w języku R to Podstawy wprowadzające czytelnika w składnię i typy danych w R. Czytelnik w tej części dowie się szczegółowo (tj. na tyle, na ile pozwala objętość książki) o podstawowych typach w R typu listy, data frames, wektory, operacje logiczne, arytmetyczne, funkcje, instrukcje warunkowe. Pierwsza część książki nie odbiega od standardów, jakie obowiązują dla książek opisujących języki programowania. Dlatego też część pierwsza dla „wyjadaczy” języków typu Python, JScript, a nawet C++ będzie raczej przypomnieniem tego, co już znają oraz wykazaniem różnic pomiędzy składniami w poszczególnych środowiskach. Początkujący użytkownicy nauczą się tutaj „dobrych manier”.

Część druga dotyczy przetwarzania danych i jest to wbrew pozorom część najważniejsza w książce – dobre przygotowanie danych i konwersja plików to praktycznie połowa sukcesu. Programowanie w języku R opisuje między innymi przetwarzanie napisów, modyfikacje baz danych SQL oraz charakterystyczne dla języka R operacje na arkuszach kalkulacyjnych zapisanych w plikach CSV, XML.

Język R to nie tylko analiza statystyczna – to pełnoprawny język programowania!

Problematyka prezentacji i wizualizacji danych w książce Programowanie w języku R jest przedstawiona w części trzeciej. Zasadniczo autor skupił się na wykresach i raportowaniu wyników (co jest istotne w przypadku data science/data mining). Część trzecia jest raczej krótka, ale treściwa. Czytelnicy chcący znacznie bardziej upiększyć wyniki niż pozwala na to surowy R, mogą skorzystać z dostępnych w internecie rozszerzeń i modułów.

Część czwarta to zastosowania języka R (inaczej: R w działaniu). Książka Programowanie w języku R podaje tutaj przykłady „niestatystyczne” (czyli nie takie, do jakich przyzwyczajeni są użytkownicy R), takie jak różniczkowanie numeryczne, algebra wektorów i macierzy, metody optymalizacji i interpolacji, czy symulacje (w tym metoda Monte Carlo). Osobiście uważam, że takie podejście omijające statystykę jest strzałem w dziesiątkę, ponieważ ukazuje prawdziwą potęgę języka R. Uważam jednak, że parę stron o statystyce (choćby regresja liniowa) byłoby mile widziane (jest tutaj wprawdzie badanie mocy testu metodą Saphiro-Wilka).

Przykład analizy wariancji przy użyciu R

Ostatnia część książki Programowanie w języku R dotyczy zagadnień zaawansowanych, czyli jeszcze więcej optymalizacji, zarządzaniem pamięcią, środowiskami, lub (niezwykle istotne) zagadnień dotyczących semantyki i syntaktyki języka R (parsery, ewaluacje). W tej części również rozważana jest integracja języka R ze środowiskiem C++ oraz programowaniem zorientowanym obiektowo.

Programowanie w języku R jest książką, powiedziałbym, kompletną. Nie ma tutaj przysłowiowego lania wody, jest napisana językiem przystępnym dla użytkownika. Autor podał również bardzo dużą liczbę przykładów i listingów pozwalających przeanalizować tok programistyczny krok-po-kroku (warto dodać, że listingi zawierają również bardzo przejrzyste i pomocne komentarze autora!). Pokuszę się tutaj nawet o stwierdzenie, że Programowanie w języku R jest jedną z lepszych książek poświęconych metodyce programowania w ogóle. Moim zdaniem z książki mogą skorzystać zarówno początkujący, jak i zaawansowani programiści, co najważniejsze – nawet ci, którzy zasadniczo z R nie będą mieć wiele do czynienia. Dlaczego? Ponieważ Programowanie w języku R uczy nie tylko, w jaki sposób przebiega proces kontaktu użytkownik-maszyna, ale uczy pewnego savoir-vivre’u programistycznego.

Błędy? Zasadniczo nie znalazłem. Przydałoby się moim zdaniem więcej przykładów analizy danych, ale po przeczytaniu i wykonaniu ćwiczeń z tej książki czytelnik powinien bez problemu rzeczoną analizę przeprowadzić we własnym zakresie. Programowanie w języku R to książka godna polecenia i uważam, że zarówno autor, jaki i wydawnictwo naukowe PWN spisali się na przysłowiowy medal.