1  Wprowadzenie do R

Prezentacja

1.1 Wprowadzenie

GNU R to interpretowany język programowania oraz środowisko do obliczeń statystycznych i wizualizacji wyników [Wikipedia 2017].

Robert A. Muenchen - The Popularity of Data Science Software

1.2 R

Bazowa wersja R jest do pobrania ze strony r-project.org.

1.3 RStudio

RStudio to zintegrowane środowisko programistyczne (IDE) dla języka R dostępne za darmo na stronie RStudio.

Z R można także korzystać w Microsoft Visual Studio.

1.4 Ważne informacje

R jest wrażliwy na wielkość liter.

Separatorem części dziesiętnej liczby jest kropka.

W codziennej pracy RStudio jest wygodniejsze, jednak długotrwałe obliczenia lepiej uruchamiać w trybie wsadowym w zwykłym R.

  • Katalog roboczy

Ważnym pojęciem w R jest katalog roboczy (ang. working directory), który określa gdzie zostaną zapisane pliki, wykresy, zbiory, itp. jeśli nie podamy dokładnej ścieżki do pliku. Katalog roboczy przypisuje się z wykorzystaniem funkcji setwd("ścieżka do katalogu"), a jego wartość można sprawdzić funkcją getwd(). W RStudio przypisanie katalogu roboczego odbywa się w momencie utworzenia projektu.

  • Projekt

Katalog na dysku, w którym znajdują się wszystkie pliki projektu wraz z plikiem o rozszerzeniu .Rproj skojarzonym z RStudio.

  • Korzystanie z pomocy

Dostęp do pomocy odnośnie wybranej funkcji można uzyskać na dwa sposoby. Pierwszym z nich jest poprzedzenie nazwy funkcji w konsoli znakiem zapytania np. ?getwd lub wywołanie funkcji help na nazwie funkcji help("getwd"). Drugim sposobem jest umieszczenie kursora w dowolnym miejscu nazwy funkcji i wciśnięcie klawisza F1.

Internet - przede wszystkim stackoverflow.

  • Komentarze

Real programmers don’t comment their code. If it was hard to write it should be hard to understand.

Dobrze napisany kod jest czytelny bez komentarzy. W R komentarze rozpoczynają się od symbolu #. Skrót klawiaturowy w RStudio to CTRL + SHIFT + C (do wstawiania i usuwania komentarzy).

  • Podpowiadanie składni

RStudio ma zaimplementowaną funkcję podpowiadania składni. Listę możliwych funkcji i obiektów wywołuję się klawiszem TAB lub CTRL + SPACJA po wpisaniu co najmniej jednej litery. Kolejne naciśnięcie TAB lub ENTER powoduje uzupełnienie kodu o wybraną funkcję lub obiekt.

  • Wykonywanie programów

Programy w R możemy tworzyć jako skrypty w pliku tekstowym o rozszerzeniu .R lub wywoływać polecenia bezpośrednio w konsoli. Kod programu napisanego w skrypcie przekazywany jest do konsoli. Gotowość do pracy R sygnalizuje w konsoli znakiem zachęty >. Jeśli podczas wykonywania programu w konsoli pojawi się znak + to oznacza oczekiwanie na kompletny kod - brak domkniętego nawiasu, cudzysłowia, itp.:

> getwd(
+ 

W powyższym przykładzie brakuje prawego nawiasu. Dodanie brakującego kodu spowoduje wykonanie przekazanego polecenia. Z kolei wciśnięcie klawisza ESC spowoduje przerwanie wykonywanie programu i powrót do znaku zachęty. Zawartość konsoli można wyczyścić stosując kombinację klawiszy CTRL + L.

  • Pliki

Jeśli w pamięci znajdują się jakieś obiekty (zakładka Environment) to RStudio przy zamykaniu programu zapyta o zapisanie tych obiektów do pliku .RData. Jeżeli zdecydujemy się na tą propozycję to po ponownym uruchomieniu projektu obiekty znajdujące się w pliku .RData zostaną automatycznie wczytane do pamięci.

Można także samodzielnie tworzyć pliki o rozszerzeniu .RData z wykorzystaniem funkcji save():

save(obiekt1, obiekt2, obiekt3, file = "nazwa_pliku.RData")

Wczytanie obiektów z takiego pliku do pamięci odbywa się z zastosowaniem funkcji load():

load("nazwa_pliku.RData")

1.5 Pakiety

Podstawowe możliwości R są dosyć ograniczone. Rozszerzają je pakiety, których obecnie jest ponad 12 tysięcy. Można je przeglądać według kategorii w CRAN Task Views lub w wygodnej wyszukiwarce METACRAN i rdrr.io.

1.6 R jako kalkulator

Działania matematycznie w R:

Operator Operacja
+ dodawanie
- odejmowanie
* mnożenie
/ dzielenie
^ lub ** potęgowanie
sqrt() pierwiastkowanie

W R istnieje także stała wbudowana pi przechowująca wartość liczby pi.

Funkcja factorial(x) zwraca silnię (znak wykrzyknika !) z podanej wartości x, a sign(x) sprawdza znak wyrażenia i zwraca odpowiednio wartość -1 jeśli wyrażenie jest ujemne, 0 jeśli jest równe 0 i 1 dla wyrażeń dodatnich.

Funkcja exp(x) zwraca wartość wyrażenia \(e^x\), natomiast funkcja log(x) zwraca logarytm z podanej liczby. Domyślnie jest to logarytm naturalny, ale można zmienić podstawę podając wartość argumentu base.

Funkcja abs(x) zwraca wartość bezwzględną (absolutną) wyrażenia.

Ćwiczenie

Oblicz wartość wyrażenia: \(2\cdot \sqrt{\pi} + log_28\).

Rozwiązanie:

2*sqrt(pi)+log(8,2)
[1] 6.544908

Zadania

Oblicz wartość wyrażeń:

  1. \(\frac{2^3\cdot6^2}{(\frac{1}{2})^2\cdot(\frac{4}{5})^3}\)
  2. \(\sqrt[3]{\frac{6-3.5}{2^{11}}}\)
  3. \(\pi+\sqrt{e^4}\)
  4. \(5! - log_{10}100\)
  5. \(|1-e|\)