(IV) Funkcje Apply

Istnieje kilka funkcji w języku R do zastosowania funkcji do podzbioru obiektu, z których sześć omówiono tutaj. Sześć funkcji to apply(), lapply(), sapply(), vapply(), tapply() i mapply (). Funkcje do zastosowania mogą być zdefiniowane przez użytkownika, co może być bardzo przydatne

Funkcja apply()

Funkcja apply() przyjmuje trzy argumenty – X, MARGINES i FUN – a także wszystkie argumenty funkcji FUN. Pierwszy argument, X, to tablica (w tym macierze). Drugi argument podaje margines (y), na których ma działać funkcja, a FUN jest funkcją, która ma zostać zastosowana. W przypadku macierzy wprowadzenie 1 w polu MARGINES powoduje zastosowanie funkcji we wszystkich kolumnach. W przypadku 2 funkcja jest stosowana w wierszach. Funkcję, która ma zostać zastosowana, wprowadza się bez nawiasów. Wszelkie argumenty funkcji są wprowadzane jako następne, oddzielone przecinkami. Wynikiem jest tablica, macierz lub wektor. Oto przykład:

> mat=matrix(1:4,2,2, dimnames=list(c(“r1″,”r2”),c(“c1″,”c2”)))

> mat

c1 c2

r1 1 3

r2 2 4

> apply(mat,1,sum)

r1 r2

4 6

> apply(mat,1,pnorm,3,1)

r1 r2

c1 0.02275013 0.1586553

c2 0.50000000 0.8413447

W tym przykładzie argumentami funkcji pnorm () są wiersze w mat dla wartości q, 3 dla wartości średniej i 1 dla wartości sd. Zauważ, że macierz jest transponowana w wyniku. Więcej informacji na temat apply () można znaleźć, wpisując ?apply w wierszu polecenia R.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *