Zaawansowane programowanie w R (239050-0484)

Informacje podstawowe

Wykład (laboratorium komputerowe) ma na celu rozbudowanie wiedzy o programowania w języku R o środowiska, modele obiektowe (S3, S4, R5, R6) oraz niestandardowe obliczenia (non standarde evaluation NSE). Wykład zakłada dobrą znajomość języka R na poziomie podstawowym a materiał jest przekazywany raczej szybko!

Literatura

Podstawowa literatura do wykładu to książka https://www.amazon.com/dp/1466586966/ref=cm_sw_su_dp?tag=devtools-20. Całkowicie darmowa wersja jest dostępna pod adresem http://adv-r.had.co.nz. Poza powyższą książką duża część materiału, zwłaszcza do modelu obiektowego S4, R5 i R6 pochodzi z rozlicznych miejsc na sieci.

W szczególności w ramach przygotowania wykładu zostały wykorzystane nastepujące materiały. Proszę jedynie wziąć pod uwagę, że te materiały mają już swoje lata i w niektórych miejscach nie są aktualne. Większość materiałów ze StackOverflow to kwestie dotyczące raczej wewnętrznej konstrukcji pewnych mechanizmów i jako takie nie są konieczne przy rozwiązywaniu projektów zaliczeniowych.

Model obiektowy S4

Model obiektowy R5

Model obiektowy R6

  • ?R6Class

Egzaminy / zaliczenie

Laboratorium zaliczają Państwo na podstawie rozwiązanych projektów zaliczeniowych. Projekty w postaci skryptów należy przesyłać na mój adres. Do wykonania są przygotowane trzy projekty zaliczeniowe. Ocena jest przyznawana zgodnie ze skalą: jeden projekt – dst, dwa projekty – db, trzy projekty – bdb.

Oprogramowanie / edytory

W systemach Mac OS i Windows program R przychodzi z odpowiednim GUI. Jest to bardzo proste środowisko ale zawiera podstawowy edytor, który pozwala na pisanie krótkich skryptów i jest całkowicie wystarczające do pracy w trakcie laboratorium. Poza tym jest spora liczba edytorów przeznaczonych do pisania kodu w R. W szczególności mamy RStudio, zaawansowane środowisko tworzenia skryptów R i działa po wszystkimi dużymi systemami operacyjnymi. Dla osób bardziej zaawansowanych polecam Emacs razem z trybem ESS.

Projekty zaliczeniowe

Poniżej są zamieszczone trzy projekty zaliczeniowe. Projekty zostawiają Państwu sporo wolności zarówno jeżeli chodzi o samą implementację jak i dobór narzędzi statystycznych i ekonometrycznych. Każdy projekt może zostać rozwiązany na wiele sposobów, nie ma jednego dobrego rozwiązania. W ramach rozwiązań nie będą przyjmowane projekty, które wymagają instalacji i ustawiania dodatkowych bibliotek czy języków programowania włączając w to Java, Perl, Bash, C# itd. W rozwiązaniach można wykorzystywać dowolne dodatkowe pakiety R, pod warunkiem, że są one dostępne na CRAN oraz nie wymagają dodatkowych języków np. Java. Każde rozwiązanie musi zawierać przykład zastosowania proponowanej implementacji.

Każdy projekt musi zostać rozwiązany jako pojedynczy skrypt R. Plik ze skryptem należy przesłać mi na maila do pierwszego dnia sesji (jeżeli zaliczają Państwo w drugim terminie to sesji poprawkowej). Plik powinien mieć nazwę zgodnie ze schematem <nazwisko>_<numer projektu>.r, proszę nie używać dużych liter ani polskich liter. Podobnie w skryptach proszę nie używać polskich liter.

Projekty zaliczeniowe sem. letni 2016/17

  • Projekt 1 PDF
  • Projekt 2 PDF (mapa powiatów ZIP)
  • Projekt 3 PDF (mapa miasta ZIP) Uwaga: ten projekt wymaga nieco więcej pracy.

Zadania należy przesłać do pierwszego dnia sesji. Jeżeli ktoś zalicza w sesji poprawkowej to zadania należy przesłać do pierwszego dnia sesji poprawkowej. Zadania przesłane po terminie nie będą brane pod uwagę.

Egzamin / zaliczenie

Laboratorium zaliczają Państwo na podstawie rozwiązanych projektów zaliczeniowych. Projekty w postaci skryptów należy przesyłać na mój adres. Do wykonania są przygotowane trzy projekty zaliczeniowe. Ocena jest przyznawana zgodnie ze skalą: jeden projekt – dst, dwa projekty – db, trzy projekty – bdb.

Oprogramowanie / Edytory

W systemach Mac OS i Windows program R przychodzi z odpowiednim GUI. Jest to bardzo podstawowe środowisko ale zawiera podstawowy edytor, który pozwala na pisanie krótkich skryptów i jest całkowicie wystarczające do pracy w trakcie laboratorium. Poza tym jest spora liczba edytorów przeznaczonych do pisania kodu w R. W szczególności mamy RStudio, zaawansowane środowisko tworzenia skryptów R i działa po wszystkimi dużymi systemami operacyjnymi. Dla osób bardziej zaawansowanych polecam Emacs razem z trybem ESS.

Projekty zaliczeniowe

Poniżej są zamieszczone trzy projekty zaliczeniowe. Projekty zostawiają Państwu sporo wolności zarówno jeżeli chodzi o samą implementację jak i dobór narzędzi statystycznych i ekonometrycznych. Każdy projekt może zostać rozwiązany na wiele sposobów, nie ma jednego dobrego rozwiązania. W ramach rozwiązań nie będą przyjmowane projekty, które wymagają instalacji i ustawiania dodatkowych bibliotek czy języków programowania włączając w to Java, Perl, Bash, C# itd. W rozwiązaniach można wykorzystywać dowolne dodatkowe pakiety R, pod warunkiem, że są one dostępne na CRAN oraz nie wymagają dodatkowych języków np. Java. Każde rozwiązanie musi zawierać przykład zastosowania proponowanej implementacji.

Każdy projekt musi zostać rozwiązany jako pojedynczy skrypt R. Plik ze skryptem należy przesłać mi na maila do pierwszego dnia sesji (jeżeli zaliczają Państwo w drugim terminie to sesji poprawkowej). Plik powinien mieć nazwę zgodnie ze schematem <nazwisko>_<numer projektu>.r, proszę nie używać dużych liter ani polskich liter. Podobnie w skryptach proszę nie używać polskich liter.

Projekty zaliczeniowe sem. zimowy 2017/18

  • Projekt 1 PDF (bardziej zaawansowane)
  • Projekt 2 PDF (bardzo proste)
  • Projekt 3 PDF (proste na pomyślenie)

Zadania należy przesłać do pierwszego dnia sesji. Jeżeli ktoś zalicza w sesji poprawkowej to zadania należy przesłać do pierwszego dnia sesji poprawkowej. Zadania przesłane po terminie nie będą brane pod uwagę.

Author: Michał Ramsza

Created: 2017-12-08 Fri 19:11

Emacs 25.1.1 (Org mode 8.2.10)

Validate