R #07 – eksport wykresu do pliku – tutorial

2019-07-14

To dobrze móc wygenerować wykres w środowisku programistycznym, ale jeśli te wykresy mają np. dalej podlegać publikowaniu w intranecie i chciałoby sie aby te wykresy były zawsze aktualne, wtedy przyda się eksportowanie danych do pliku. Skrypt będzie można uruchamiać batchowo, bez udziału człowieka, a jednym z zadań skryptu będzie aktualizacja pliku.

W  pierwszym kroku należy otworzyć nowe urządzenie. Tym urządzeniem będzie teraz plik PNG o zdefiniowanej wysokości, szerokości i rozdzielczości. Po otwarciu urządzenia, rysowanie wykresu będzie się odbywać właśnie tam. Wobec tego uruchomienie polecenia plot, nie spowoduje narysowania czegokolwiek na ekranie. Wszystko będzie odbywać się w pliku graficznym. Ostatnim poleceniem jest zamknięcie urządzenia za pomocą dev.off():

png('c:/temp/chicken_chart.png', width = 500, height = 350, res = 72)

plot(x=1:nrow(chickwts), y=chickwts$weight,
 col=color_column, pch = shapes_column,
 xlab = 'Chicken', ylab = "Chicken's weight")

legend("topleft", legend = levels(chickwts$feed),
 col = my_colors,
 pch = my_shapes )

dev.off()

 

By Rafał Kraik in R

R #06 – kompozycja wykresów – tutorial

2019-07-14

Zależnie od sytuacji, czasami chcemy mieć duży i dokładny wykres, co pozwala dokłądnie przyjrzeć się poszczególnym elementom wykresu. Innym razem zadowolisz się po prostu ogólną znajomością sytuacji i wtedy przyda się kilka wykresów na raz prezentujących różne zależności, chociaż zdecydowanie mniejszych i mniej dokładnych.

W języku R za układ wykresu odpowiada kilka parametrów sesji. Możesz je wyświetlić korzystając z polecenia:

par()

Aby przekonfigurować środowisko tak, aby na raz pojawiały się 3 wykresy ułożone poziomo jeden nad drugim wykonaj polecenie:

par(mfrow=c(3,1))

Teraz pozostaje rysować wykresy:

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

hist(ord_chick$weight, breaks = 10, ylim=c(0,10),
 ylab="Number of chickens", xlab="Chicken's weight")

barplot(data = chickwts,height = chickwts$weight,
 col=color_column, pch = shapes_column)

Czytaj dalej »

By Rafał Kraik in R

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