R #05 – wykres słupkowy i wartości średnie – tutorial

2019-07-14

W jednym z poprzednich wpisów pokazywałem, jak zbudować wykres słupkowy. Narzekaliśmy jednak na to, że słupków było tyle, co danych, a tymczasem często chciałoby się je uogólnić. Wszystkie próbki odpowiadające jednej kategorii do zaprezentowania na wykresie można uogólnić np. wyznaczając dla nich średnią.

W tym przykładzie nadal pracujemy z informacjami o wadze kurczaków w zależności od karmy, jaką im podawano. Aby rozpocząć rysowanie przygotujemy w odpowiedni sposób dane. Zostaną one podzielone na kategorie ze względu na rodzaj karmy, a potem dla każdej z tych grup wyliczymy wartość średnią:

feed_mean= tapply(chickwts$weight, chickwts$feed, mean, na.rm=T)
feed_mean

 casein horsebean linseed meatmeal soybean sunflower 
 323.5833 160.2000 218.7500 276.9091 246.4286 328.9167

Teraz można przystąpić do rysowania wykresu:

barplot(feed_mean,
 main="Average chicken weight depending on feed",
 ylab="weight",
 xlab="feed type")

Czytaj dalej »

By Rafał Kraik in R

R #04 – wykres pudełkowy – tutorial

2019-07-14

Na początku wiele rzeczy wydaje się prostych, a z czasem kiedy je analizujemy dochodzimy do drugiego dnia. Potem do trzeciego, potem do czwartego… Im dalej tym bardziej zaawansowane narzędzia są potrzebne.

boxplot(weight ~ feed, data = chickwts, varwidth = TRUE, notch=TRUE,
 col='gray')

Czytaj dalej »

By Rafał Kraik in R

R #03 – wykres histogram – tutorial

2019-06-28

W poprzednich atrukułach zobaczyłeś jak stworzyć wykres punkowy i wykres słupkowy. Każdy z tych wykresów zajmował się w miarę najdokładniejszym odwzorowaniem oryginalnych danych, o żadnej agregacji nie było w nich mowy.  Małym krokiem w stronę uogólnienia danych jest budowanie histogramu. Jego zastosowanie to z jednej strony przedstawienie z jakimi danymi mamy do czynienia, a z drugiej strony pozwala niekiedy ocenić, czy dane są dobrane rzetelnie, czy  wybrana próbka testowa dobrze prezentuje całą populację.

Do utworzenia wykresu histogramu dane trzeba odpowiednio przygotować – sortujemy zbiór danych ze względu na właściwość/cechę, która ma być prezentowana – tutaj jest to waga kurczaka

ord_chick = chickwts[order(weight),]

Teraz można już rysować histogram:

hist(ord_chick$weight, breaks = 5)

Czytaj dalej »

By Rafał Kraik in R

Kurs Python dla średnio zaawansowanych za darmo

2019-06-26

Jak zwykle pierwsze dni premiery nowego kursu na Udemy to moje „happy hours” 🙂  Tylko teraz i tylko przez ograniczony czas kurs jest ZA DARMO, FREE, GRATIS. Zapisuj się i używaj. To takie moje DZIĘKUJĘ za to wszystko z czego sam korzystam szukając rozwiązań i pomocy w Internecie. Bawcie się dobrze!

Link do kursu

Obecnie Python to jeden z najprężniej rozwijających się języków programowania. Jest stosowany prawie wszędzie, począwszy od automatyzowania środowiska IT, budowania typowych aplikacji desktopowych, tworzenia gier, a kończąc na działalności naukowej, zwłaszcza w dziedzinie Data Science i sztucznej inteligencji. Język, który wypada znać i to najlepiej na odpowiednio dobrym poziomie.

W moim zamiarze ten kurs, to drugi etap nauki programowania w Pythonie. Jeśli ukończyłeś już mój kurs dla początkujących – to tak, ten kurs jest dla Ciebie. Jeśli Pythona znasz z innych źródeł i po prostu chcesz się nauczyć czegoś więcej, to jak sądzę też dobrze trafiłeś. Właściwie łatwiej mi powiedzieć dla kogo ten kurs nie jest. Jeśli nie znasz podstaw zacznij od kursu dla początkujących, a jeśli znasz Pythona bardzo dobrze, to może zainteresuj się zastosowaniami Pythona studiując kurs „Data Science, analiza danych w Python i PANDAS”

Tutaj nie omawiam już podstaw -te musisz znać. Pętle, zmienne, typy, listy, funkcje, wyjątki, sama instalacja Pythona – tego tu nie ma. To co jest? Znaczne poszerzenie tych wiadomości. Odkrycie drugiego dna. Klasy, funkcje, typy, konwersje typów, sztuczki i zastosowania tych sztuczek, wyjątki, iteratory, generatory, context manager. Cel jaki sobie stawiam, to poruszane tu zagadnienia omówić od A-Z, tak aby już do nich w przyszłości nie trzeba było wracać.

Zobaczysz różnego rodzaju funkcje i właściwości obiektów i elementów języka Python. Nie ograniczamy się tu jednak do powiedzenia „jest taka funkcja”. Przy każdej z nich zobaczysz praktyczny przykład jak i kiedy z tej funkcji można skorzystać.

Samo obejrzenie filmu raczej zbyt wiele nie nauczy. Dlatego właśnie po każdej lekcji masz quiz, a zaraz potem zadanie do samodzielnego rozwiązania. Praktyka czyni mistrzem, więc namawiam do rozwiązywania tych zadań. Zejdzie Ci na tym pewnie dużo czasu, ale uwierz mi – to nie będzie czas stracony. Gdyby zadanie było za trudne albo niezrozumiałe, to masz do dyspozycji propozycję rozwiązań. Czuj się, jakbyś był na normalnym klasowym kursie, tyle tylko że stworzonym dla Ciebie.

Kończąc ten kurs będziesz już – jakby nie patrzeć na poziomie zaawansowanym. Dasz radę samodzielnie stosować zaprezentowane tu techniki, jak również ze zrozumieniem czytać kod napisany przez innych. Będziesz gotowy do specjalizacja w kierunku, w jakim Ty u siebie Pythona chcesz zastosować.

Zachęcam do przejrzenia spisu treści kursu. Nie będę go tutaj po raz przytaczał, bo to około 180 jednostek. Zajrzyj do przykładowych darmowych lekcji, oceń czy ta forma kursu Ci się podoba. Jeśli tak – wejdź na wyższy poziom znajomości Pythona.

Python dla średnio zaawansowanych – programuj sprytnie! Zapraszam!

By Rafał Kraik in Aktualności

R #02 – wykres słupkowy – tutorial

2019-06-21

21W poprzedniej części omówiłem podstawy tworzenia wykresu punktowego. Ten typ wykresu świetnie nadaje się do prezentowania danych typowo natury matematycznej, tam gdzie jest wartość X i wyliczona dla niego wartość Y. Tak można by np. narysować wykres funkcji sinus itp. Jak jednak udało się to pokazać prezentowanie wagi kurczaków korzystających z różnej diety też się udało 🙂

Teraz pora na wykres kolumnowy i jego odmianę – słupkowy. Sprawa ma się dość prosto, bo do rysowania tego rodzaju wykresu służy funkcja barplot. Do funkcji należy przekazać dwa argumenty: dane do prezentacji oraz jaka właściwość tych danych ma wpływać na wysokość słupków:

barplot(data = chickwts,height = chickwts$weight)

Czytaj dalej »

By Rafał Kraik in R

R #01 – wykresy – tutorial

2019-06-14

Dane zaczynają mówić, kiedy je zobaczymy. W przeciwnym razie zostają anonimowe lub co najmniej ukryte. To dlatego powstają różne pakiety pozwalające tworzyć wykresy jak gplot, seaborn i inne. Tutaj jednak chcę pokazać jak uzyskiwać wykresy wykorzystując tylko bazowe pakiety języka R.

Zacznijmy więc od danych – trzeba je załadować, to też dobry moment na sprawdzenie ilości tych danych:

chickwts 
?chickwts

nrow(chickwts)

Te dane zawierają informacje – uwaga – o tym jaką wagę osiągnęły kurczaki, którym podawano różnego rodzaju karmę. Uważasz, że temat jest głupi? Chyba nie, głównie z dwóch powodów. Po pierwsze to zaczynając zabawę z tymi danymi rzeczywiście nie wiemy jakie ziarenka dawać kurczakom, żeby szybko urosły, a kiedy kończymy analizę, już mamy pewne pomysły. A drugi powód jest taki, że chyba prawie każdy od czasu do czasu lubi przekąsić dobrze upieczone udko…

No to zaczynamy rysowanie:

plot(x=1:nrow(chickwts), y=chickwts$weight)

Czytaj dalej »

By Rafał Kraik in R

Python: przypisanie wartości w słowniku a metoda setdefault

2019-05-06

Popatrz – wynik obu skryptów jest taki sam:

country_leader = { 'DE' : 'Merkel' , 'PL' : 'Szydlo'}
country_leader['FR'] = 'Macron'
print(country_leader)
country_leader = { 'DE' : 'Merkel' , 'PL' : 'Szydlo'}
country_leader.setdefault('FR','Macron')
print(country_leader)

dlaczego? Bo 'FR’ na oryginalnej liście nie było.  Zarówno przypisanie, jak i setdefault dodaje nowy kraj z jego leaderem.

Ale w następnym przykładzie jest inaczej. Tutaj zmieniamy Szydło na Morawiecki dla PL. Zapis dla PL już był i to polecenie dokonało zmian – Szydło zamienia się na Morawiecki:

country_leader = { 'DE' : 'Merkel' , 'PL' : 'Szydlo'}
country_leader['PL'] = 'Morawiecki'
print(country_leader)

ale tutaj instruujemy Pythona, że należy dodać zapis PL jeśli go tam nie ma i zainicjować go 'Morawiecki’

country_leader = { 'DE' : 'Merkel' , 'PL' : 'Szydlo'}
country_leader.setdefault('PL', 'Morawiecki')
print(country_leader)

Sęk w tym, że PL było na oryginalnej liście, więc nie dodaliśmy PL i nie wpisaliśmy 'Morawiecki’. Została Szydło.

Kiedy używać setdefault?

Korzystanie z setdefault jest best practice zamiast takiego kodu, który osobno sprawdza, czy PL jest na liście i jeśli nie, to dodaje taki zapis. setdefault pozwala to zrobić w jednym kroku!

country_leader = { 'DE' : 'Merkel' , 'PL' : 'Szydlo'}
if 'PL' not in country_leader:
    country_leader['PL'] = 'Morawiecki'
print(country_leader)
By Rafał Kraik in Python