Twitter: @grzegg
Kategoria: programowanie, Tagi: - .

R – instalacja i pierwsze kroki

W poprzednim wpisie krótko opisałem czym jest R i do czego można go użyć. Dzisiaj zajmiemy się instalacją R a także zrobimy pierwsze kroki w tym środowisku.

Instalacja

Linux

Pod Linuksem można użyć managerów pakietów. Pod Ubuntu szukamy, np. przy użyciu programu synaptic pakietu r-base a następnie go instalujemy. Przy okazji warto zwrócić uwagę, na ilość dodatków które można zainstalować. Pokażą się, jeśli w polu wyszukiwania wpiszemy r-cran.

Można też przeprowadzić instalację z linii komend:

sudo apt-get install r-cran

W innych dystrybucjach instalacja powinna przebiegać analogicznie. Można też pakiety pobrać ze strony projektu (patrz instalacja pod Windows i Mac).

Windows i MacOS X

Na stronie projeku R, po lewej stronie w menu, znajduje się link CRAN, który prowadzi do listy serwerów lustrzanych z całego świata które oferują nam dostęp do pożądanych przez nas plików. Możemy wybrać serwer leżący w Polsce (np. serwer wrocławski), lub jakikolwiek inny.

Po wybraniu serwera ukaże się strona, na której znajdziemy linki prowadzące do plików z oprogramowaniem na systemy Linux, MacOS X oraz Windows. Podążamy za linkiem właściwym dla naszego systemu operacyjnego, pobieramy pliki i instalujemy,

Pierwsze starcie – czyli R jako kalkulator

Po zainstalowaniu, uruchamiamy pakiet R. Możemy w tym celu użyć pod Linuksem terminala wpisując komendę R, można też zainstalować RKWard i tam otworzyć R Console.

RKWard pod Linuksem

Rys 1: RKWard pod Linuksem

Pod MacOS X i Windows można uruchomić interfejs graficzny, klikając w odpowiednią ikonę. Wtedy naszym oczom ukazuje się mniej więcej takie okno:

wersja pod MacOS X

Rys 2: wersja pod MacOS X

Wersja pod Windows

Rys 3: Wersja pod Windows

Na dole, obok znaku zachęty > mruga kursor, zapraszając nas do działania. Nie nadwerężając więc jego cierpliwości, wpisujemy pierwszą komendę:

> 8*8

i naciskamy enter.

Pojawia się wynik:

[1] 4

Oznaczenie [1] na razie ignorujemy, obok jak widać pojawił się wynik.

A teraz spróbujmy czegoś odrobinę bardziej złożonego:

> 2^4+6*2/(4+7)
[1] 17.09091

Dla porządku wyjaśnijmy co znaczą poszczególne operatory:

  • + dodawanie
  • – odejmowanie
  • * mnożenie
  • / dzielenie
  • () nawiasy (Uwaga! Nie używamy nawiasów kwadratowych w tym kontekscie)

Wpiszmy teraz:

> 5.01e6

Otrzymamy:

[1] 5010000

Jak widać R akceptuje też tzw. notację naukową.

Przy warto zauważyć i zapamiętać, że do oznaczenia ułamków dziesiętnych używamy kropki a nie przecinka.

Jeśli wpiszemy na przykład:

> 2*5,5

Otrzymamy komunikat:

Error: unexpected ',' in "2*5,"

Policzmy teraz pierwiastek i silnię:

Najpierw pierwiastek kwadratowy z 4:

> sqrt(4)
[1] 2

Silnia z 4, czyli 4!:

> factorial(4)
[1] 24

Tak właśnie wygląda wywołanie funkcji:

nazwa_funkcji(parametry)

Funkcje to w uproszczeniu fragmenty kodu, które wykonują określone zadania. Funkcja ma swoją nazwę która służy do jej wywołania. Funkcje mogą przyjmować jeden lub więcej argumentów, które umieszczamy w nawiasie, oddzielając je przecinkami. Niektóre funkcje nie przyjmują żadnych argumentów, wtedy nawiasy są puste.

Argumentami mogą być na przykład liczby, na których funkcja przeprowadza następnie operacje.

Wpiszmy teraz polecenie:

> seq(1, 10)

Wynik będzie wyglądał tak:

[1] 1 2 3 4 5 6 7 8 9 10

Funkcja seq() służy do generowania sekwencji liczb. W powyższym przykładzie przyjęła dwa argumenty które, jak łatwo zauważyć, oznaczają początek i koniec sekwencji.

Kolejność wpisywanych liczb ma tu kluczowe znaczenie, zamieniając je miejscami uzyskamy sekwencję odwrotną:

> seq(10, 1)
[1] 10 9 8 7 6 5 4 3 2 1

Gdybyśmy chcieli uzyskać sekwencje składająca się z co trzeciej liczby z zakresu od 1 do 20, moglibyśmy wpisać także trzeci parametr oznaczający wielkość kroku (by):

> seq(1, 20, 3)
[1] 1 4 7 10 13 16 19

Być może bardziej przejrzyste będzie wpisanie:

> seq(1, 20, by=3)

Wtedy znaczenie trzeciego parametru jest bardziej oczywiste.

Oczywiście można w ten sposób oznaczyć wszystkie parametry, w takim przypadku ich kolejność nie ma znaczenia:

> seq(to=20, by=2, from=1)
[1] 1 3 5 7 9 11 13 15 17 19

No dobrze – mógłbyś zapytać drogi czytelniku mojego bloga – ale skąd mam wiedzieć, jakie parametry przyjmuje dana funkcja i jak się one nazywają? Czy mam je wszystkie pamiętać?

Ależ nie, nie trzeba ich wszystkich pamiętać. Z pomocą przychodzi nam funkcja (a jakże!) help().

Wpisz w oknie polecenie:

> help(seq)

W tym wypadku funkcja help() przyjmuje jako argument nazwę funkcji. Otworzy się okienko z opisem działania funkcji i parametrów które przyjmuje. Na końcu można znaleźć przykłady jej zastosowania.

Funkcje, a raczej wyniki ich działania, można używać jako elementów układanki:

> 2+cos(1)^2*12
[1] 5.503119

cos() to oczywiście funkcja licząca cosinus. Nie będzie zaskoczeniem informacja, że mamy też do dyspozycji funkcje liczące inne funkcje trygonometryczne, np. sin(), tan(), acos().

Można też zrobić tak:

> seq(1, 10)*2
[1] 2 4 6 8 10 12 14 16 18 20

Na koniec jeszcze jedna praktyczna uwaga. Jeśli chcemy wrócić do któregoś z wcześniejszych poleceń wystarczy wciskać strzałkę w górę na klawiaturze. W ten sposób cofamy się do poprzednich poleceń. Dzięki temu, jeśli np. pomyliliśmy się przy wpisywaniu długiego równania, albo chcemy zmienić w nim liczby, nie musimy wszystkiego klepać od początku. Wystarczy poprawić część polecenia i wcisnąć Enter

;

2 komentarze R – instalacja i pierwsze kroki

  • adam

    Jedyny blad autorow to niepowodzenie w wyznaczaniu azymutow gęstości np zalesienia i przeprowadzenia symulacji, jednostajnej rownomiernej tego nie przewidzili to już prosciej symulacje wykonac kiedy punkty są w ruchu.

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

Rozwiąż zadanie: * Time limit is exhausted. Please reload CAPTCHA.