Statystyka I z R. Bartosz Maćkiewicz. 2 października 2017

Podobne dokumenty
Architektura dużych projektów bioinformatycznych

Architektura dużych projektów bioinformatycznych

Wprowadzenie do er(k)a

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Podstawy statystyki matematycznej w programie R

Dostawa oprogramowania. Nr sprawy: ZP /15

Podstawy analizy danych numerycznych w języku Python

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

R dla każdego : zaawansowane analizy i grafika statystyczna / Jared P. Lander. Warszawa, Spis treści

Instalacja Pakietu R

Programowanie obiektowe 2 - opis przedmiotu

Inżynierskie zastosowania statystyki Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

Przetwarzanie i analiza danych w języku Python / Marek Gągolewski, Maciej Bartoszuk, Anna Cena. Warszawa, Spis treści

PRZEWODNIK PO PRZEDMIOCIE

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Repetytorium z matematyki 3,0 1,0 3,0 3,0. Analiza matematyczna 1 4,0 2,0 4,0 2,0. Analiza matematyczna 2 6,0 2,0 6,0 2,0

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

-Instalacja R: -Instalacja RStudio:

PWSZ w Tarnowie Instytut Politechniczny Elektrotechnika

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

WSKAŹNIKI ILOŚCIOWE - Punkty ECTS w ramach zajęć: Efekty kształcenia. Wiedza Umiejętności Kompetencje społeczne (symbole) MK_1. Analiza matematyczna

KARTA KURSU. Grafika komputerowa

Liczba godzin. Tygodniowa liczba godzin. Symbol efektu uczenia się. w ć l p s ZZU CNPS łączna K1_INS_ U05, K1_INS_ U06, K1_INS_ U19 K11,

Dokumentacja projektu QUAIKE Architektura oprogramowania

Tematyka seminariów z informatyki dla studentów I roku kierunku lekarsko-dentystycznego w roku akademickim 2017/2018.

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Technologie IoT - Analityka Big Data IoT Big Data& Analytics

Język Java i technologie Web - opis przedmiotu

Wykresy i interfejsy użytkownika

KARTA PRZEDMIOTU / SYLABUS

KARTA PRZEDMIOTU / SYLABUS Wydział Nauk o Zdrowiu Zdrowie Publiczne ogólnoakademicki praktyczny inny jaki. Zakład Statystyki i Informatyki Medycznej

KARTA PRZEDMIOTU / SYLABUS

KARTA PRZEDMIOTU / SYLABUS

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

BIOSTATYSTYKA. Liczba godzin. Zakład Statystyki i Informatyki Medycznej

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

Programowanie obiektowe 1 - opis przedmiotu

Nazwa przedmiotu: Informatyczne systemy statystycznej obróbki danych. Informatics systems for the statistical treatment of data Kierunek:

programie Photoshop, programowania (automatyka i robotyka) dla uczniów Powiatowego Zespołu Szkół Nr 2 w

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

KARTA PRZEDMIOTU / SYLABUS

KARTA PRZEDMIOTU / SYLABUS. Zakład Statystyki i Informatyki Medycznej. tel./fax (85) dr Robert Milewski

Wykład Ćwiczenia Laboratorium Projekt Seminarium

KARTA PRZEDMIOTU / SYLABUS

Rok akademicki: 2014/2015 Kod: CCB s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Statystyka matematyczna SYLABUS

Tworzenie aplikacji Web Alicja Zwiewka. Page 1

Wydział Ekonomiczno-Informatyczny w Wilnie. 1. Podstawy programowania strukturalnego (C) 2. Wstęp do programowania obiektowego

KURSY PROGRAMOWANIA DLA DZIECI

Modelowanie rynków finansowych z wykorzystaniem pakietu R

KARTA PRZEDMIOTU. 1. NAZWA PRZEDMIOTU: Programowanie obiektowe. 2. KIERUNEK: Matematyka. 3. POZIOM STUDIÓW: I stopnia 4. ROK/ SEMESTR STUDIÓW: II/4

Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK

Zapisywanie algorytmów w języku programowania

Kierunek: Inżynieria i Analiza Danych Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Zaawansowany kurs języka Python

KARTA PRZEDMIOTU. WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI 1. Brak

Zajęcia trwają 15 tygodni (2 godziny wykładu, 2 godziny laboratorium tygodniowo) Zaliczenie zajęć jest uwarunkowane zaliczeniem zajęć laboratoryjnych

Język R : kompletny zestaw narzędzi dla analityków danych / Hadley Wickham, Garrett Grolemund. Gliwice, cop Spis treści

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

PRZEWODNIK PO PRZEDMIOCIE

PODYPLOMOWE STUDIA ZAAWANSOWANE METODY ANALIZY DANYCH I DATA MINING W BIZNESIE

WYDZIAŁ BUDOWNICTWA LĄDOWEGO I WODNEGO

Python. Skąd taka nazwa? Kurs systemu UNIX 1

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 2-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2018/19.

Programowanie w języku Python. Grażyna Koba

Informatyka I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

KARTA MODUŁU KSZTAŁCENIA

KARTA PRZEDMIOTU / SYLABUS

Aplikacje WWW i PHP - opis przedmiotu

PROGRAM NAUCZANIA PRZEDMIOTU OBOWIĄZKOWEGO NA WYDZIALE LEKARSKIM I ROK AKADEMICKI 2014/2015 PRZEWODNIK DYDAKTYCZNY dla STUDENTÓW IV ROKU STUDIÓW

STATYSTYKA MATEMATYCZNA

Nowoczesne metody nauczania przedmiotów ścisłych

PRZEWODNIK PO PRZEDMIOCIE

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa i multimedia

Kierunek i poziom studiów: Chemia, pierwszy. Sylabus modułu: Technologia informacyjna (0310-CH-S1-003) 1. Informacje ogólne

KARTA PRZEDMIOTU / SYLABUS

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa, Inżynieria oprogramowania, Technologie internetowe

Programowanie w C. dr inż. Stanisław Wszelak

Algorytmy i bazy danych (wykład obowiązkowy dla wszystkich)

Podstawy programowania. Wprowadzenie

PRZEWODNIK PO PRZEDMIOCIE

Kierunek:Informatyka- - inż., rok I specjalność: Grafika komputerowa

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Egzamin / zaliczenie na ocenę*

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

INFORMATYKA. PLAN STUDIÓW STACJONARNYCH INŻYNIERSKICH 1-go STOPNIA STUDIA ROZPOCZYNAJĄCE SIĘ W ROKU AKADEMICKIM 2019/2020.

KURSY PROGRAMOWANIA DLA DZIECI

Transkrypt:

Statystyka I z R Bartosz Maćkiewicz 2 października 2017

Program zajęć 1. Zajęcia wprowadzające. Podstawowe typy danych w R (1 zajęcia). 2. Zaawansowane typy danych w R. Indeksowanie. Arytmetyka. (1 zajęcia). 3. Konstrukcje warunkowe w R. Funkcje. (1 zajęcia) 4. Ilościowa charakterystyka danych, graficzna analiza eksploracyjna. (1 zajęcia) 5. Rozkłady teoretyczne, symulacje statystyczne, rozkład z próby i estymacja. (2 zajęć) 6. Logika wnioskowania statystycznego. Testy: test χ 2, test t Studenta (2 zajęć) 7. Modele statystyczne, modele liniowe i analiza regresji (2 zajęć) 8. Analiza wariancji (2 zajęć) 9. Statystyka nieparametryczna, metody tradycyjne a bootstrapping (1 zajęcia) 10. Zaawansowane wizualizacje przy użyciu pakietu ggplot2.

Tryb pracy na zajęciach Filmiki do obejrzenia i przesłuchania przez zajęciami (nie więcej niż 30 minut tygodniowo). Zajęcia - krótki wstęp teoretyczny (jego długość zależy od Państwa przygotowania) i praca z komputerami. Prace domowe (około 1,5 godziny tygodniowo) Prace domowe do wyboru (dłuższe, przynajmniej 3 w semestrze). Będą polegały na napisaniu bardziej skomplikowanego skryptu albo przygotowania raportu z symulacji albo na przygotowaniu serii grafik, etc. Prace domowe zupełnie dodatkowe. Rozszerzenie materiału dla chętnych, zakres według potrzeb, możliwości: wizualizacje (ggplot2, lattice, plotly, etc.) pisanie całych pipeline ów (pobieranie danych, obróbka wstępna, analiza, wizualizacje) symulacje Czasami coś do przeczytania (według potrzeb)

Zasady zaliczenia Warunki zaliczenia Robienie zadań domowych obowiązkowych + 3 do wyboru dłuższe w semestrze. Staramy się nie spóźniać, ale jak ktoś odeśle prace domowe spóźniony to lepiej, niż gdyby miał nigdy nie odesłać. W wyjątkowych sytuacjach można negocjować warunki zaliczenia. Forma przesyłania prac Prace domowe oddajemy na akurszach RMarkdownowych wysyłając mi je e-mailem na mackiewicz.b@gmail.com W zakładce Filmy znajduje się krótkie wprowadzenie do RMarkdown Arkusze mają się Knitować, a wyniki mają być we właściwych miejsach.

Python? Python > R? R > Python? Istnieje możliwość prowadzenia dla zainteresowanych internetowo/realnego, nieoficjalnego kursu ze Statystyki I z Pythonem w formie krótkich filmików/notatek/notebooków, które będą przekładały przykłady, które robiliśmy w R na Pythona z użyciem takich pakietów jak numpy, pandas, scipy, statsmodels.

Dlaczego R? R jest stworzonym przez Rossa Ihakę i Roberta Gentlemana językiem programowania oraz środowiskiem programistycznym służącym do obliczeń statystycznych. Powstał jako implementacja stworzonego w laboratoriach Bella (UNIX, C, itd.) języka programowania S stworzonego przez Johna Chambersa, Ricka Beckera i Allana Wilksa. Obecnie rozwijany jest przez R Development Core Team.

Zalety i wady R Zalety jest darmowy w przeciwieństwie do wielu innych pakietów statystycznych jest wolnym oprogramowaniem (kod źródłowy na licencji GNU GPL, sam projekt jest projektem GNU) jest ciągle rozwijany ciągły rozwój biblioteki standardowej i olbrzymia liczba pakietów do każdego rodzaju analizy (ale też uczenie maszynowe itp.) jest przetestowany (implementacje algorytmów napisane w Fortranie 150 lat temu) (naprawdę robiąc tę prezentację musiałem zainstalować Fortrana) praktycznie nieograniczone możliwości tworzenia grafiki coraz więcej możliwości wykraczania poza same obliczenia (Web, interfejsy graficzne, interaktywne aplikacje, reproducible research) jest pełnoprawnym językiem programowania

Zalety i wady R Wady jest językiem programowania dla statystyków niezbyt rozbudowane możliwości tworzenia złożonych aplikacji graficznych/webowych (ale są!) niektóre decyzje dotyczące języka kontrowersyjne jest językiem programowania - brak graficznego interfejsu jest językiem interpretowanym a nie kompilowanym, więc teoretycznie aplikacja w C/C++ może być szybsza

R vs Python oba są językami interpretowanymi, mogą być więc wolne większość operacji numerycznych w R jest zaimplementowana w C/Fortranie, więc będzie szybszy niż czysty Python oba języki mają możliwość pisania rozszerzeń w C, jeżeli wydajność to w Pythonie można użyć numpy lub nawet numba oba są typowane dynamicznie podstawowe typy danych w R są wektorowe i operacje na nich są wektoryzowane w Pythonie biblioteki mają odseparowaną przestrzeń nazw, w R biblioteki ładują często swoje funkcje do globalnego namespace funkcje z zewnętrznych bibliotek mają niesamowite kombinacje wielkich liter i nazw, by odróżnić się od biblioteki standardowej i innych bibliotek

R vs Python W R możemy wykonać mnożenie dwóch wektorów przez siebie. Jeśli są innej długości, R będzie powtarzał krótszy (nie zawsze to jest super) x = c(1,2,3,4,5,6) y = c(2,2,3,3) z = x * y print(z) ## [1] 2 4 9 12 10 12 W Pythonie nie da się przemnożyć dwóch list przez siebie. x = [1,2,3,4,5,6] y = [2,2,3,3] z = x * y print(z)

R vs Python Można jednak użyć pakietu numpy i wykonywać operacje na wektorach. import numpy as np x = np.array([1,2,3,4,5,6]) y = np.array([2,2,3,3]) y = np.concatenate([y,y])[:6] z = y * x print(z) ## [ 2 4 9 12 10 12]

R vs Python LSD.test oraz bar.group są funkcjami, które do globalnej przestrzeni nazw dodał pakiet agricolae library(agricolae) data(sweetpotato) model<-aov(yield~virus, data=sweetpotato) out = LSD.test(model,"virus", p.adj="bonferroni") bar.group(out$groups,ylim=c(0,45),density=4) 0 10 20 30 40 a a ab b oo ff cc fc

Jak znaleźć odpowiedzi na nurtujące nas pytania? Google StackOverflow podręcznik dokumentacja z CRAN (Comprehensive R Archive Network) funkcja? (help)

Jak pracować z R? REPL (read-eval-print loop) interaktywna praca z R szybkie analizy, analiza eksploracyjna (deskryptywna), testowanie skrypty R (lub dokumenty RMarkdown) traktowane jako notatnik pipeline analizy danych

RStudio Figure 1: RStudio

Podstawowe typy danych w R logical Wartości logiczne prawdy i fałszu - TRUE i FALSE piec_falszow = c(false, FALSE, FALSE, FALSE, TRUE) print(piec_falszow) ## [1] FALSE FALSE FALSE FALSE TRUE integer Liczby całkowite liczby_od_jeden_do_piec = as.integer(c(1,2,3,4,5,6)) print(liczby_od_jeden_do_piec) ## [1] 1 2 3 4 5 6

Podstawowe typy danych w R numeric Liczby rzeczywiste prawie_trzy = c(2.95, 2.96, 2.9998, 2.987) prawie_trzy # Można nie dodawać instrukcji print ## [1] 2.9500 2.9600 2.9998 2.9870 character Ciągi znaków pieciu_mezczyzn = c('m', 'M', 'M', 'M', 'M') pieciu_mezczyzn ## [1] "M" "M" "M" "M" "M"

Podstawowe typy danych w R factor W zasadzie są wektorami ciągów znaków, przechowują jednak dodatkowe informacje. table(pieciu_mezczyzn) ## pieciu_mezczyzn ## M ## 5 zadnej_kobiety = factor(pieciu_mezczyzn, levels = c('k', 'M'), ordered = TRUE ) zadnej_kobiety ## [1] M M M M M ## Levels: K < M table(zadnej_kobiety) ## zadnej_kobiety ## K M ## 0 5