przewodnikPoPakiecieR2

przewodnikPoPakiecieR2



Łagodne wprowadzenie do li użyć funkcji match(base). Działu mm zim< /ule N/.yliclcJ niż odpowiednia instrukcja zapisana z użyciem funkcji whichO. 1'mlnlnin działanie do funkcji matchO ma binarny operator '/.in*/,. Jego wynikiem jest wektoi wartości logicznych określających, czy jakikolwiek element argumentu prawego wystąpił w danym elemencie argumentu lewego (patrz poniższy przykład).

Jeżeli chcemy znaleźć indeks elementu minimalnego lub maksymalnego w wektorze, to możemy skorzystać z funkcji whlch.min(base), which.raax(base). Ich wynikami są indeksy pierwszego ekstremum.

>    wektor - cUl, 13, 10.5, -3, 11, -3)

>    vhich(vektor*=*10.5)

[1] 3

>    match(c(ll,10.5,-3), wektor)

Cl] 134

>    which(wektor<ll)

Cl]’3 4 6

>    wbichfwektor -- min(wektor)) # które najmniejsze

Cl] 4 6

>    whicb.max(wektor)    # który największy

Cl] 2

>    which.min(wektor)    * który najmniejszy

Cl] 4

>    # zmienna LETTERS to 26-elementowy wektor dużych liter

>    LETTERS '/.in'/, c("A", "Z", "M", "G")

[1] TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE

Cli] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE C21] FALSE FALSE FALSE FALSE FALSE TRUE

1.5.6.5 Operatory

W tabeli 1.6 przedstawiono najpopularniejsze operatory w języku R. Dla większości operatorów istnieją również funkcje o identycznym działaniu, ale mniej wygodnym zapisie. Np. wyrażenie 2+3 jest równoważne wyrażeniu sum(2,3). Można również definiować własne operatory, co opiszemy w podrozdziale 1.6.2.5.

Tabela 1.6: Lista operatorów logicznych i arytmetycznych

Standardowe operatory arytmetyczne. Oba argumenty powinny mieć taki sam wymiar (macierze lub wektory) lub jeden z argumentów powinien być liczbą.

'śx'ś

Iloczyn Kroneckera dwóch macierzy.

u

Reszta modulo z dzielenia.

Dzielenie całkowite.

•/.*•/.

Iloczyn dwóch macierzy.

! * Standardowo operatory porównywania wartości liczbowych.

! Operntor negacji.

b, bb, 1,11

Logiczny iloczyn oraz logiczna suma.

anyO, all()

Logiczna munn(llorzyu) wszystkich elementów wektora.

Startujemy

37



Logiczna suma odpowiada łącznikowi lub a logiczny iloczyn łącznikowi i w języku polskim. Jeżeli ten komentarz dużo Ci nic rozjaśnił to znaczy, że nie potrzebujesz korzystać z tych operatorów i się nie przejmuj (preferujemy bezstresowy sposób nauczania ; >).

Operatory 4 i I służą do wykonywania operacji na listach lub wektorach, podczas gdy 44 i I I na pojedynczych wartościach. Warto przeanalizować, co się dzieje w poniższym przykładzie.

>    0 podajemy iwa wektory toartości logicznych, kolejne wartości są nazwane

>    lubię. statystykę - cCala~FAt.SE. ola-TRUE, ewa=TRUE)

>    łubie.prowadzącego « c(ala»TRUE, ola=TRUE, ewa-FALSE)

>    0 logiczne i dla kolejnych par elementów obu wektorów

>    tubie.statystykę fc tubie.prowadzącego - ala ola ewa

FAI.SE TRUE FALSE

>    0 logiczne i dla wszystkich elementów obu wektorów

>    tubie.statystykę kk tubie.prowadzącego [1] FALSE

>    0 logiczne lub dla kolejnych par elementów obu wektorów

>    tubie.statystykę I łubie.prowadzącego ala ola ewa

TR(JE TRUE TRUE

>    0 logiczne lub dla wszystkich elementów obu wektorów

>    tubie.statystykę II łubie.prowadzącego Cl] TRUE

>    any(łubie.statystykę)

Ci] TRUE


Z uwagi na ochronę danych osobowych, imiona studentek w tym przykładzie zostały zmienione.


^ j ^ Pomiędzy operatorami I I (44) a I (4) istnieje jeszcze jedna różnica. ‘.— Operatory I i 4 stosują tak zwane „gorliwe wartościowanie", czyli wy-■"* znaczają wartości wszystkich argumentów tych operatorów a następnie wyznaczają logiczną sumę lub iloczyn. Operatory I I i 44 stosują tak zwane „leniwe wartościowanie”, czyli wyznaczają wartość drugiego argumentu, tylko jeżeli jest ona niezbędna do określenia wartości wyniku. W sytuacji, gdy pierwszy argument operatora 11 ma wartość TRUE (a dla operatora 44 wartość FALSE) nie jest wyliczany drugi argument, ponieważ wynik operatora jest już znany. Warto pamiętać o tych różnicach. Leniwe i gorliwe wartościowanie to przydatny mechanizm, ale może być też źródłem błędów.

>    wypiszlmie <- functlon(imle) fcat(pastę(imię, "\n”)); T >

>    wypiszImieCala”) I wypiszImieCola") ala

* Ola [i] TRUE

>    wypiszlmie ("ala") I I wypiszImieCola") ala

tl) TRUE


Wyszukiwarka

Podobne podstrony:
przewodnikPoPakiecieR7 6 Łagodne wprowadzenie do i? dowiedzieć się w jakim pakiecie ta funkcja się
przewodnikPoPakiecieR5 22 Łagodne wprowadzenie do R Thbela 1.3: Lista funkcji arytmetycznych z paki
przewodnikPoPakiecieR9 50 Łagodne wprowadzenie do R Wt*p
przewodnikPoPakiecieR0 Łagodne wprowadzenie do II to uruchamiana Jest funkcja summary.lm(), która p
przewodnikPoPakiecieR5 2 Łagodne wprowadzenie do R1.2 Słów kilka o projekcie R R is tho lingua fran
przewodnikPoPakiecieR6 4 Lagodne wprowadzenie do R1.3 Instalacja Instalacja pakietu R składa się z
przewodnikPoPakiecieR9 m Łagodne wprowadzenie do R • Lista. Podobnie jak wektor, lista to również u
przewodnikPoPakiecieR3 58 Łagodne wprowadzenie do R Wariacje z funkcją ablinef) •tó Rysunek 1.6: Pr
przewodnikPoPakiecieR2 16 Łagodne wprowadzenie do R -    R functions (text) Pomoc do
przewodnikPoPakiecieR3 38 Łagodne wprowadzenie do R 38 Łagodne wprowadzenie do R generowana jest se
przewodnikPoPakiecieR9 PT 10 Łagodne wprowadzenie do R JMWIM liii llln •nililIMniy, wlv« inoAim
przewodnikPoPakiecieR0 12 Łagodne wprowadzenie do R • File Source R codę... Tym poleceniem możemy w
przewodnikPoPakiecieR1 14 Łagodne wprowadzenie do R —    BufFered output Ta opcja ok
przewodnikPoPakiecieR3 18 Łagodne wprowadzenie do R 18 Łagodne wprowadzenie do R R will always be a
przewodnikPoPakiecieR7 26 Łagodne wprowadzenie do R >    # d teraz tworzymy inną,

więcej podobnych podstron