Wykonywanie instrukcji
Praca w środowisku R przebiega w sposób interaktywny i oparta jest o wykonywanie instrukcji. Instrukcje mogą być kolejno wpisywane i uruchamiane z konsoli. Innym podejściem jest tworzenie plików skryptowych zawierających zbiór instrukcji do wykonania w sposób sekwencyjny. Pliki takie posiadają rozszerzenie *.R i uruchamiane są w całości. Jedną z najprostszych instrukcji jest dodawanie:
1 2 3 |
# instrukcja dodawania > 2 + 3 [1] 5 |
W wyniku otrzymaliśmy wektor jednoelementowy z wynikiem dodawania 5. W przedstawionych przykładach znak > jest znakiem zachęty do wpisywania instrukcji w konsoli R. Znak zachęty będzie pojawiać się w notatkach wszędzie tam, gdzie chcemy zaprezentować wyniki uruchomionej w konsoli instrukcji. Tekst znajdujący się po znaku # jest komentarzem i jest całkowicie ignorowany przez środowisko R. Zapisanie i przechowanie w zmiennej wyniku dodawania umożliwia operator przypisania <-:
1 2 3 4 5 6 7 8 9 10 |
# przypisanie dodawania do zmiennej a > a <- 2 + 3 # podwojenie wartości zmiennej a i przypisanie wyniku do zmiennej b > b <- a * 2 # wyświetlenie wartości zmiennej a > a [1] 5 # wyświetlenie wartości zmiennej b > b [1] 10 |
Wpisanie w konsoli nazwy zmiennej wyświetla jej zawartość. Stworzone przez nas zmienne możemy wykorzystywać w kolejnych instrukcjach. Oprócz prostych instrukcji i przypisań R posiada ogromną ilość funkcji:
1 2 3 4 5 6 7 8 9 |
# zwraca największą z podanych liczb > max(1, 6, -3) [1] 6 # zwraca najmniejszą z podanych liczb > min(1, 6, -3) [1] -3 # zwraca średnią z podanych liczb > mean(1, 6, -3) [1] 1 |
Możliwości języka R można podejrzeć dzięki specjalnie przygotowanym prezentacjom:
1 2 3 4 |
# wyświetla listę dostępnych prezentacji demo() # wyświetla konkretną prezentację demo(graphics) |
Korzystanie z pomocy
Liczba instrukcji, funkcji i parametrów dostępnych w R jest przytłaczająca. Dlatego warto poznać funkcje umożliwiające uzyskanie pomocy i dodatkowych informacji. Dostęp do pomocy w środowisku R zaprezentujemy na przykładzie funkcji max() zwracającej największą z podanych liczb.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# wyświetlanie dokumentacji funkcji help(max) ?max # wyszukanie frazy jednowyrazowej w dokumentacji ??max # wyszukanie frazy wielowyrazowej w dokumentacji ??"max function" # przykłady użycia funkcji max example("max") # przeszukiwanie dokumentacji internetowej oraz grup dyskusyjnych RSiteSearch("max function") # lista dostępnych funkcji z wyrazem "max" w nazwie apropos("max", mode = "function") # lista dostępnych zbiorów danych data() # lista dostępnych ulotek vignette() |
Środowisko R posiada w wbudowanym pakiecie datasets ponad 100 zbiorów danych. Funkcja data() wyświetla ich nazwy. Ulotki pakietów, tzw. vignette to pliki pdf zawierające dodatkowe informacje o pakiecie. Warto nadmienić, że nie każdy pakiet dostarcza swoje ulotki.
Zarządzanie obszarem roboczym
Sesja ze środowiskiem R korzysta z katalogu oraz obszaru roboczego. Katalog roboczy to miejsce na dysku, w którym przechowujemy wykorzystywane w sesji pliki z danymi oraz skrypty. Obszar roboczy przechowuje stworzone przez nas zmienne wraz z ich wartościami. Poniższe funkcje umożliwiają manipulację obydwoma obiektami:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# zwraca ścieżkę do aktualnego katalogu roboczego > getwd() [1] "D:/Studia AGH/Notatki w internecie" # ustawia nową ścieżkę katalogu roboczego setwd("D:/Studia AGH") # wyświetla zmienne z obszaru roboczego ls() # usuwa zmienne a, b, c z obszaru roboczego remove(a, b, c) # wyświetla 3 ostatnio wpisane instrukcje history(3) # zapis historii ostatnio wykonanych instrukcji do pliku savehistory("historia_instrukcji.txt") # odczyt historii ostatnich instrukcji z pliku loadhistory("historia_instrukcji.txt") # zapis całego obszaru roboczego do pliku save.image("workspace.RData") # zapis zmiennych a, b, c z obszaru roboczego do pliku save(a, b, c, file = "workspace.RData") # odczyt obszaru roboczego z pliku load("workspace.RData") |
Ścieżki względne plików są zawsze relatywne do aktualnie ustawionego katalogu roboczego. Środowisko R zapamiętuje wszystkie wpisane instrukcje w celu ułatwienia ich ponownego wykonania.
Pakiety rozszerzające
Cechą charakterystyczną ekosystemu środowiska R jest ogromna liczba rozszerzeń dostępnych do ściągnięcia w postaci pakietów. W chwili pisania główne repozytorium pakietów R zawiera ich ponad 6694. Zainstalujemy pakiet do uczenia maszynowego RWeka wykorzystywany w drugiej części notatek. Pakiet ten jest nakładką na narzędzie Weka i umożliwia tworzenie oraz uruchamianie eksperymentów uczenia maszynowego.
1 2 3 4 5 6 7 8 9 10 11 12 |
# lista zainstalowanych pakietów installed.packages() # lista aktualnie załadowanych pakietów search() # instalacja pakietu RWeka install.packages("RWeka") # załadowanie pakietu RWeka library(RWeka) # wyświetlenie dokumentacji pakietu help(package="RWeka") # wyświetlenie ulotki zainstalowanego pakietu vignette("RWeka") |
Każdy z niestandardowych pakietów przed użyciem musi zostać załadowany przy użyciu funkcji library(). Funkcja ta ładuje pakiet tylko i wyłącznie, gdy jest on niezaładowany bądź został uaktualniony. Domyślnie załadowane są tylko podstawowe pakiety takie jak base, utils, datasets czy graphics. Funkcja instalująca pakiet install.packages() przyjmuje jako argument łańcuch znaków zawarty w cudzysłowie. Natomiast funkcja ładująca pakiet library() przyjmuje jego nazwę bez cudzysłowu.