Kontynuujemy temat tworzenia wysokiej jakości oprogramowaniu w kontekście przetwarzania danych. W tym wpisie porównamy jak R i Python radzą sobie ze wspomaganiem użytkownika w pisaniu przejrzystego, dobrego kodu. Temat jest szeroki, skupimy się na 4 zagadnieniach: Jak powinien wyglądać szablon projektu Data Science? Dlaczego konwencje nazewnictwa mają znaczenie i czym linter? Dlaczego ważna jest ujednolicone formatowania kodu? Czym jest CI/CD i jak wykorzystywać go do tworzenia wysokiej jakości oprogramowania? Python Zacznijmy od poezji: Zen of Python - PEP20.

Kontynuuj czytanie

W ciągu najbliższych tygodni na Szychcie pojawi się seria wpisów, które mają przybliżyć tworzenie dobrej jakości kodu w kontekście przetwarzania danych. Wpisy będą techniczne, nie będzie wykresów i narracji zbudowanych na danych. Jednocześnie jest to dobra okazja do porównania dwóch języków programowania R i Pythona, z czego skorzystamy. Który język będzie górą? Czy filozofia, która za nimi stoi jest zbliżona? Która społeczność kładzie większy nacisk na tworzenie wysokiej jakości kodu?

Kontynuuj czytanie

Dzisiaj problem nieduży, ale bardzo praktyczny. Jak stworzyć vignette. eRowi fanatycy będą nieco zawiedzeni, bo chodzi mi nie o dokumentację pakietu, ale o “wedding vignette”, a więc winietki ślubne. Jak nie przeklejać 100 imion i uzyskać zgodę narzeczonej na zabawę przy komputerze? Pierwszym punktem jest znalezienie narzeczonej (continuum już zajęte, ale można szukać alef zero). Drugim zdecydowanie się na zorganizowanie imprezy na 100 osób, bo przecież ,,to proste i nie będzie na pewno aż tak drogie jak wszyscy mówią".

Kontynuuj czytanie

Jedną z miar aktywności i jakości pracy naukowej jest zdobywanie grantów. Przyjrzyjmy się, które polskie jednostki naukowe są pod tym względem najlepsze oraz czy w czasie następuje rozproszenie, czy raczej koncentracja pieniędzy na badania naukowe. W Polsce mamy dwie główne instytucje publiczne, które zajmują się finansowaniem nauki. Pierwszym jest Narodowe Centrum Nauki (NCN), które daje pieniądze na badania podstawowe. Drugim Narodowe Centrum Badań i Rozwoju (NCBR), które daje granty na badania rozwojowe i innowacyjne z nastawieniem na ich komercjalizację.

Kontynuuj czytanie

Dzisiaj krótko na temat tego, jak stworzyć rysunki z wpisu o wzroście wynagrodzeń. Dane pochodzą z Banku Danych Lokalnych GUS. Kontury województw pochodzą ze strony Centralnego Ośrodka Dokumentacji Geodezyjnej i Kartograficznej. Na początku wczytujemy kontury województw za pomocą pakietu rgdal. [github file = “/psobczyk/szychtawdanych/blob/master/wynagrodzenia/analiza_wynagrodzenia.R” start_line = “10” end_line = “12”] _Data.frame _ nazwy, to brzydki hak, służący do łączenia danych. Jego przydatność zobaczymy później. Dalej przekształcamy, za pomocą funkcji fortify z pakietu ggplot2, dane z typu SpatialPolygons do data.

Kontynuuj czytanie

Kolejny wpis z serii jak to zrobić w R. Dzisiaj krótkie wprowadzenie do tego jak ściągać bezpośrednio do R tabele zawarte na stronach internetowych, jak kierować zapytania do API, jak przetwarzać otrzymane od serwera odpowiedzi i jak to wszystko połączyć w niebanalną analizę. Ściąganie tabel do R Wykorzystamy w tym celu pakiet XML. Ściągniemy listę najbardziej kasowych filmów wszechczasów. [github file = “/psobczyk/szychtawdanych/blob/master/filmy/analiza_actors_directors.R” start_line = “2” end_line = “10”] Bardziej ogólne rozwiązania opiera się na wczytaniu całego pliku i ręcznego wybrania interesującego nas fragmentu korzystając z XML-owych tagów.

Kontynuuj czytanie

W najbliższym czasie uchwalony zostanie rządowy program świadczeń na dzieci w wysokości 500 złotych miesięcznie. Do procesu obiecywania dołączyła cześć opozycji. Pytanie czy taki program w ogóle ma sens? Czy dokonano dogłębnej diagnozy obecnej sytuacji demograficznej Polski? Czy pomysł na wydawania pieniędzy w formie zasiłku jest efektywny? Ile będzie kosztować budżet narodzenie jednego dodatkowego dziecka w wyniku działania programu 500+? Zaczynamy od porównania. Głównym moim źródłem jest wpis na blogu BIQdata oraz raport firmy PwC, na którym tenże wpis się opiera.

Kontynuuj czytanie

Dzisiaj w Szychcie zamiast górniczego urobku prezentacja maszyn i technik. Jak wykonać zeszłotygodniową analizę w R? Jakich pakietów należy użyć? Kody i dane znajdują się na moim koncie na githubie. Dane nie należą do mnie. Na rozgrzewkę małe wyjaśnienie jak małym kosztem uszeregować województwa do boxplotu. Trik polega na ustawieniu kolejności poziomów (level) dla zmiennej typu factor. [github file = “/psobczyk/szychtawdanych/blob/master/dentysci_w_szkolach/analiza_dentysci.R” start_line = “29” end_line = “37”] Następnie już łatwo wygenerować jest wykres w ggplot [github file = “/psobczyk/szychtawdanych/blob/master/dentysci_w_szkolach/analiza_dentysci.

Kontynuuj czytanie

Dzisiejszy wpis szczególnie przypadnie do gustu wszystkim miłośnikom tramwajów i niestandardowych wykresów w R. Nietrudno zatem odgadnąć, że autor należy do obu tych grup. Odpowiemy sobie na pytania gdzie w Polsce są a gdzie zostały zlikwidowane sieci tramwajowe? Jakie miasto może się pochwalić najdłuższą długość torowisk? Jak mocno obecność tramwajów determinowana jest przebiegiem granicy zaboru pruskiego oraz jak zrobić w R efektowne wykresy gdzie zamiast punktu mamy obrazek. Na początek punkt wyjścia czyli zwykły wykres.

Kontynuuj czytanie

W Polsce każdy ma prawo do bezpłatnej edukacji, ale jej jakość jest bardzo nierówna. I nie chodzi jedynie o podział miasto - wieś, ale też o regiony geograficzne. W dzisiejszym wpisie zobaczymy jak kształtują się wyniki sprawdzianu po szkole podstawowej, egzaminu gimnazjalnego i matury w podziale na powiaty. Sprawdzimy też czy z czasem różnice pomiędzy nimi zacierają się czy też stają się bardziej widoczne. W dzisiejszym wpisie korzystam z pakietu ZPD stworzony przez Instytut Badań Edukacyjnych.

Kontynuuj czytanie

Dzisiaj wpis, za który oberwie mi się z prawej i lewej strony. I w dodatku nie za to, że i jednych i drugich pojadę, ale za to, że jednym i drugim oddam troszkę honoru! Oczekiwania podkręcone, postaram się je spełnić. Wpis dotyczy orzeczeń Trybunału Konstytucyjnego. Konkretnie dwóch zagadnień. Pierwsze to czas od wydania wyroku do jego publikacji w Dzienniku Ustaw. Drugi dotyczy czasu wykonania wyroków, czyli ile zajęło poprawienie prawa od momentu stwierdzenie jego niezgodności z konstytucją.

Kontynuuj czytanie

Szychta w danych wraca po przerwie na intensywną pracę naukową :) Na rozgrzewkę - analiza wyników ostatnich wyborów. Czy PO i Nowoczesna różnią się w poszczególnych regionach? Czy wyniki wyborów nadal da się wytłumaczyć granicami zaborów? Czym się różnią elektoraty partii lewicowych? Zaczniemy od analizy rywalizacji, która od 10 lat dominuje w polskiej polityce. PiS vs. PO. Oprócz standardowych i dobrze znanych podziałów, bardzo fajnie widać na wykresie efekt mniejszości narodowych.

Kontynuuj czytanie

Elektrownie w Polsce

Zupełnie nie wiem jak sprzedać tę historię. Nie będzie więc błyskotliwego wstępu. Zainteresowało mnie po prostu gdzie znajdują się w Polsce elektrownie i na jak duże odległości trzeba przesyłać prąd. I to będzie tematem dzisiejszego wpisu. Na wstępie zobaczmy mapę z zaznaczonymi elektrowniami w podziale na istniejące i planowane. Wielkość okręgów jest proporcjonalna do mocy elektrowni. Istniejące elektrownie są zlokalizowane głównie w południowej części Polski. Na Górnym Śląsku występuje bardzo duże zagęszczenie elektrowni, co jest zapewne związane z przemysłem ciężkim, który był w przeszłości (jest nadal?

Kontynuuj czytanie

Wydatki na obronność

Winston Churchill W czasach gdy Churchill spisywał swoje aryciekawe wspomnienia, wojskami zarządzały Ministerstwa Wojny. Kosmetyczną zmianę w nazewnictwie zawdzięczamy Zimnej Wojnie, podczas której wydatki wojenne przeobraziły się w wydatki obronne. To one są tematem dzisiejszego, pierwszego po wakacjach, wpisu. Kiedy konflikt na Ukrainie był w fazie eskalacji, sporo czasu poświęcono w Polsce dyskusjom na temat siły armii, jakości jej wyposażenia i możliwości obronnych. Nie będąc ekspertem nie mogę się wypowiadać na te tematy, ale proponuję porównanie jak wyglądają wydatki i liczebność sił zbrojnych różnych krajów.

Kontynuuj czytanie

W ostatnią sobotę odbył się we Wrocławiu nocny półmaraton. Dostarczył on, oprócz dobrej zabawy, niemałego zbioru danych zawierającego międzyczasy blisko 7000 uczestników. Moja propozycja na ciekawą wizualizację tych danych następująca. Dla każdych kolejnych punktów pomiarowych, i dla każdego biegacza osobno, liczę średnie tempo. To znaczy, że dla każdego startującego w półmaratonie znam jego tempo na pierwszych 5 km, pomiędzy 5-tym a 10-tym kilometrem i tak dalej. Na wykresie poniżej jedna linia odpowiada jednemu biegaczowi.

Kontynuuj czytanie

Dzisiaj pokażę jak, za pomocą R oraz pakietów ggmap, dplyr i animation, zwizualizować zmiany natężenia kursów tramwajów i autobusów w ciągu dnia. Co ciekawego, oprócz wrażeń estetycznych, można z tych rysunków wyciągnąć? Choćby to, że uwidaczniają one niezwykle duże natężenie kursowania tramwajów w ścisłym centrum, nawet poza godzinami szczytu. Ten fakt odpowiada, przynajmniej częściowo, na pytanie postawione w tytule dzisiejszego wpisu. Tramwaje częściej kursować nie mogą bo… nie ma na nie miejsca.

Kontynuuj czytanie

Powoli przycichają dyskusje polityczne na temat ostatnich wyborów samorządowych, co oznacza, że czas najwyższy aby się zabrać na wykonanie porządniejszej analizy danych. Niestety szczegółowe dane, to znaczy na poziomie komisji obwodowych, dotyczące ostatnich wyborów nie są póki co udostępnione na stronie PKW. Wobec tego ściągnąłem wyniki wyborów z roku 2010. Uzyskanie tychże wyników nie jest bynajmniej zadaniem trywialnym, ale odrobina wyrażeń regularnych załatwiła sprawę. Jak dotąd mam ściągnięte i analizuję jedynie dane dla Mazowsza.

Kontynuuj czytanie

Teraz kilka szczegółów technicznych. W Ubuntu plik konfiguracyjny nazywa się .emacs i znajduje się w katalogu domowym. Biblioteki dobrze jest umieszczać w jakimś ustalonym miejscu np. folderze .emacs.d/. Niestety nie potrafię dać żadnych wskazówek użytkownikom Windowsa oprócz tego linku. Poniżej zamieszczam swój plik .emacs. W kolejnych postach postaram się wyjaśnić te części, które lepiej zrozumiałem podczas swoich przygód z emacsem. Podstawą dla mojego pliku są informacje zmieszczone na blogu Jessici Hamrick.

Kontynuuj czytanie

Widząc ogromną liczbę artykułów na blogach dotyczących RStudio, mam wrażenie, że dominuje ono w dziedzinie IDE dla R. Z tego co wiem, to konkurencji w środowiskach ,,do wyklikania" nie ma bardzo dużej. Sam zresztą uwielbiam z niego korzystać. Szybko i wygodnie można wykonać większość prac, z jakimi można się spotkać w analizie danych. Nie oznacza to, że nie da się pracować inaczej. Jedną z takich możliwości daje emacs. Emacs jest uniwersalny.

Kontynuuj czytanie

Zdjęcie autora

Szychta w danych

Blog o poznawaniu świata za pomocą danych

Piotr Sobczyk