przewodnikPoPakiecieR8

przewodnikPoPakiecieR8



b/iKocłne wprowadzenie do R

>    U określamy funkcję i przypisujemy ją do zmiennej funkcjal

>    fmikr.Jal - functionO {

+    r.i»t( "Dzisiaj jest ")

♦ cnt(format (Sys .tiraeO , "‘/.A '/.B ‘/.d"))

+ > ^ , ;>

>    tt zobaczmy jak działa ta funkcja

>    funkcjalO

Działaj jest poniedziałek listopad 05

>    # przypisujemy do zmiennej funkcja2 wartość zmiennej funkcjal, a więcp-

naszą funkcję

>    funkcja2 “ funkcjal

>    # możemy ją wywołać tak samo, jak funkcję funkcjal

>    funkcja2()    ■ 5-^

Dzisiaj jest poniedziałek listopad 05

Na początku tego przykładu zdefiniowana została funkcja, która następnie zo-•• stała przypisana do zmiennej funkcjal. Ti zmienna jest teraz zmienną typu funkcyjnego. Aby edytować ciało zmiennej możemy posłużyć się funkcją edit(utils) lub fix(utilę). Poniższy przykład spowoduje otwarcie okienka edycyjnego, umożliwiający edycję ciała funkcji.

edit(funkcjal)

y Z punktu widzenia R, funkcja jest takim samym obiektem, jak każdy inny obiekt. Nazwa funkcji nie jest związana z jej definicją a jedynie z nazwą zmiennej, w której ta funkcja jest zapamiętana.

Jeżeli chcemy, by do definiowanych funkcji można było przekazywać argumen-' ty, to w deklaracji funkcji należy umieścić nazwy tych argumentów w wektorze -. listaArgumentow rozdzielając je przecinkami.

Funkcje mogą przekazywać (potocznie mówiąc zwracać) wartości. Za wynik funk-,. cji przyjmowana jesPwartość wyznaczona w ostatniej linii ciała funkcji. Innym spo# sobem przekazywania wartości jest wykorzystanie instrukcji return O. Powoduje ona przerwanie wykonywalna funkcji oraz przekazanie jako wyniku wartości będą argumentem polecenia return O. Prześledźmy poniższy przykład.

>    tt definiujemy nową funkcje, wykorzystaną tutaj funkcję sort opiszemy U

innym miejscu

>    wy3Wietl3Najmnięjsze <- function(wektor) {

+ posortowane '<- sort (wektor)

+ posortowane[1:3]

+>

>    ILiczby <- cUl, 3, 10, 1, 0, 8)

>    # wywołujemy naszą funkcję

>    (wynik <- wyswietl3Najmniejsze(ILiczby))

[1] 0 1 3

Przyśpieszamy

cS['vr


| ^ Nazwy argumentów fimki |i putnilią hyc długie, jednak nie trzeba ich ca-łych podawać! Zamiast. pclno| im/.wy nrKnmentu wystarczy podać frag-y-~- ment, nazwy taki, który Jodnozimc/.nie identyfikuje argument.

.    Podobny mechanizm funkcjonuje, gdy argument może przyjąć wartość

ż pewnego zbioru wartości. W tym przypadku nie trzeba wskazywać pełnej nazwy ' wybranej wartości, wystarczy taki fragment, który jednoznacznie określa o któ-wartość chodzi. Za takie częściowo dopasownnic odpowiedzialna jest funkcja óbatch.argCbase). Przykład mechanizmu skrótów przedstawiony jest poniżej.

deklarujemy funkcje z dwoma argumentami ^..funkcja <- functiondiczba » 5, poziom ■ "średni") llpip;.'    cat(pastę(liczba, poziom, "\n"))

>    funkcja(3, “duży")    tt wywołanie z jawnym wskazaniem obu arg.

3 duży

'>’funkeja(po="duzy")    tt wskazujemy drugi argument skrótem nazwy

■S duży

>    funkcja(p="maly", li”1313) tt wskazujemy skrótami oba argumenty 13)3 mały

1.6.2.1 Argumenty domyślne

Definiując funkcje możemy określić domyślne wartości dla kolejnych argumentów funkcji. Jeżeli to uczynimy, to gdy przy wywołaniu funkcji dany argument nie będzie jawnie podany, wykorzystana będzie jego domyślna wartość.

Wywołując funkcję, wartości jej argumentów możemy podawać w dowolnej kolejności. Jeżeli jednak zrezygnujemy z kolejności określonej w liście argumentów, to poprzez nazwę musimy wskazać, który argument wprowadzamy. Gdy argumentów domyślnych jest więcej możemy w wywołaniu funkcji pomijać te, których modyfikować nie chcemy, a w liście argumentów zamiast wartości zostawić puste miejsce. Wszystkie te możliwości zastały przedstawione w poniższym przykładzie.

>    tt deklarujemy funkcje z trzema argumentami

>    wyswietlNajmniejsze <- function(wektor, do = 3, od = 1) {

>>+ posortowane <- sort (wektor)

posortowane Cod: do]

+ >

>    tt możemy wywołać tę funkcję z dowolną kombinacją i kolejnością

j:: . argumentów, poniżej określamy tylko pierwszy argument, pozostałe będą domyślne

>    wyswietlNajmniejszedLiczby) tli 0 1 3

>    tt określamy dwa pierwsze argumenty ?■ wyswietlNajmniejszedLiczby, 5)

,’CU 0 1 3 8    10

>    tt określamy dwa argumenty, pierwszy i trzeci (musimy go wskazać przez

nazwę)

>    wyswietlNajmniejszedLiczby, od • 6)

[1] 10 8    3


Wyszukiwarka

Podobne podstrony:
przewodnikPoPakiecieR7 6 Łagodne wprowadzenie do i? dowiedzieć się w jakim pakiecie ta funkcja się
przewodnikPoPakiecieR2 Łagodne wprowadzenie do li użyć funkcji match(base). Działu mm zim< /ule
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
przewodnikPoPakiecieR6 ■II l.iiHodne wprowadzenie do R 1.(1.1.3 Funkcja switch(base) m W przypadku
Slajd10 5 Wprowadzenie do badań operacyjnych - funkcja celu Zbiór D wyznacza się po określeniu warun
przewodnikPoPakiecieR3 58 Łagodne wprowadzenie do R Wariacje z funkcją ablinef) •tó Rysunek 1.6: Pr
Wprowadzenie do MatLab (55) szy program używa funkcji zeros do wstępnego przypisania pamięci wektora
przewodnikPoPakiecieR1 14 Łagodne wprowadzenie do R —    BufFered output Ta opcja ok
przewodnikPoPakiecieR2 16 Łagodne wprowadzenie do R -    R functions (text) Pomoc do
przewodnikPoPakiecieR5 22 Łagodne wprowadzenie do R Thbela 1.3: Lista funkcji arytmetycznych z paki
przewodnikPoPakiecieR4 I.iiimim’ wprowadzenie do R korzystając z funkcji invisible(base). Działanie

więcej podobnych podstron