JO I iif.mlnc wpnwadzenie do R
R to bardzo potężny, zaawansowany i rozbudowany pakiet statystyczny. Ale można korzystać z niego tak, jak z bardzo rozbudowanego kalkulatora. Zacznijmy od kilku prostych działań. Poniższa ramka przedstawia wynik przykładowej sesji z R. Po znaku zachęty ">" znajdują się wprowadzone komendy. Naciśnięcie klawisza ENTER powoduje zakończenie linii i (o ile to możliwe) wykonanie polecenia.
Poniżej przedstawiam}' przykładową sesję z pakietem R w roli kalkulatora.
> 2+2 tt na poczęte*! coś postego
Cl] 4
> 2"10 -1 U iwie operacje, potęgowanie ma wyższy priorytet
[1] 1023
>1/5 Cl] 0.2
> sin(pi/2) tt funkcje trygonometryczne operują na radianąch
Cl] 1
> sin(pi/3)'2 +'cos(pi/3)-2 # pamiętamy z trygonometrii skąd ten wynik?
Cl] 1
> (3+7)-(4-2)
Cl] 100
> atan2(l,l) » wywołanie funkcji arcus tanpens, patrz tabela 1.1 Cl] 0.7853982
> pi/4
Cl] 0.7853982
> log(1024,2)
Cl] 10
> choose(6,2) # symbol Newtona, nie każdy kalkulator potrafi go wyliczyć Cl] 15
^ j ^ Napis [1] rozpoczynający linię z wynikiem związany jest ze sposobem
— ________ działania funkcji wyświetlającej liczby. Mianowicie, jeżeli wyświetlane
są wartości długiego wektora liczb, to w nawiasie kwadratowym znaj-9 duje się indeks elementu wyświetlanego bezpośrednio za tym nawiasem. W prezentowanych przypadkach wynikiem jest jedna liczba, która jest traktowana przez R jako jednoelementowy wektor, stąd napis [1] . Jeszcze do tego wrócimy.
Można też grupować wyrażenia arytmctycTBne nawiasami klamrowymi co prawda R inaczej interpretuje oba typy nawiaaów, ale efekt- końcowy będzie taki sam.
Jak widać liczenie w R to nic trudnego. Do dyspozycji mamy wszystkie popularne operatory arytmetyczne (ich lista znajduje się w t abeli 1.1). Wyrażenia arytmetyczno można grupować wykorzystując nawiasy (). W R dostępne są również popularne funkcje arytmetyczne (ich lista znajduje się w tabeli 1.3), oraz najpopularniejsze funkcje trygonometryczne (wymienione w tabeli 1.2). Z funkcji tych korzysta się intuicyjnie (patrz przykład powyżej). Warto pamiętać, że implementacja tych funkcji często jest bardzo zaawansowana po to, by wyniki numeryczne były wyznaczane z możliwie największą precyzją.
Startujemy
^ j y Warto zwrócił': uwagę im limlu |<■ «■ x|>iu 1 (tmnn) i loglp(base). Ze wzglę-—du na ograniczoną mo/llwnśi' |>i z. ■ hi.wywnmu i operowania przez pro-✓w—■ cesor na liczbach ntcrzywlutyi li, wykonywanie dodawania lub odejmo-M wania na liczbach różniących my o kilka luli kilkanaście rzędów prowadzi do sporych błędów numerycznych '/. lego leż powodu w praktycznie każdym kalkulatorze (i również w większości pakietów statystycznych) wartość wyrażenia l-exp(0.1*15) jest wyznaczana z błędom względnym rzędu 10%. Podobnie wyrażenie log(l+0.1~20) jest wyliczane jako 0 (a więc z błędem względnym wynoszącym 100%). W tych sytuacjach dużo dokładniejsze wyniki będą wyznaczone, gdy użyjemy funkcji expml() i loglpO.
> l-exp(0.1“16)
[1] -1.110223e-15
> expml(0.1"15) tt Opia tych funkcji znajduje się w tabeli 1.3 [1] le-15
> log(l+0.1-20)
[1] 0
> loglpCO.1~20)
C13 le-20
To jeszcze nie koniec możliwości kalkuRatora. Dostępnych jest znacznie więcej funkcji, które ucieszą każdego inżyniera. Listę bardziej popularnych zamieszczamy w tabeli 1.4. Wybrane bardziej specjalistyczne funkcje w tym: funkcje Bessela, bazy wielomianów ortogonalnych itp. zostaną opisane w kolejnych rozdziałach.
Tabela 1.1: Lista operatorów arytmetycznych
- X |
Zmiana znaku x. | |
x + y (x - y) |
Suma (różnica) dwóch liczb x i y. | |
x * y (x / y) |
Iloczyn (iloraz) dwóch liczb x i y. | |
* * y |
Liczba x do potęgi y. | |
x XX y |
Reszta z dzielenia x przez y (tzw. dzielenie modulo). | |
X •/./•/. y |
Część całkowita z dzielenia x przez y. |
Tabela 1.2: Lista funkcji trygonometrycznych z pakietu bose
cos(x) |
Wartość funkcji cosinus w punkcie x. |
sin(x) |
Wartość funkcji sinus w punkcie x. |
tan(x) |
Wartość funkcji tangeua w punkcie x. |
acos(x) |
Wartość, funkcji arcus cosinus w punkcie x. |
asin(x) |
Wartość funkcji arcus sinus w punkcie x. |
atan(x) |
Wartość funkcji arcus tangens w punkcie x. |
atan2(y, x) |
Funkcja wyznaczająca kąt (w nu lianach) pomiędzy osią OX a wektorem o początku w punkcie (0,0) a końcu w punkcie (x,y). Wygodna funkcja do zamiany współrzędnych w układzie j kartezjańskieh, na współrzędne w układzie biegunowym. |