Apply(), lapply(), sapply() i tapply() w R

W tym artykule dowiemy się o funkcjach Apply(), lapply(), sapply() i tapply() w Język programowania R.

Kolekcja Apply() jest częścią podstawowego pakietu R. Ta rodzina funkcji pomaga nam zastosować określoną funkcję do określonej ramki danych, listy lub wektora i zwrócić wynik w postaci listy lub wektora, w zależności od używanej funkcji. W rodzinie funkcji Apply() występują następujące cztery typy funkcji:

zastosuj() funkcję

Funkcja Apply() pozwala zastosować funkcję do wierszy lub kolumn macierzy lub ramki danych. Funkcja ta przyjmuje jako argument macierz lub ramkę danych wraz z funkcją oraz określa, czy należy ją zastosować w wierszu, czy w kolumnie, i zwraca wynik w postaci wektora, tablicy lub listy uzyskanych wartości.

Składnia: Apply(x, margines, funkcja)

Parametry:

    x: określa tablicę wejściową zawierającą macierz. margines: Jeśli margines wynosi 1, funkcja jest stosowana w całym wierszu, jeśli margines wynosi 2, jest stosowana w całej kolumnie. funkcja: określa funkcję, która ma zostać zastosowana do danych wejściowych.

Przykład:

Oto podstawowy przykład ilustrujący użycie funkcji Apply() zarówno w wierszach, jak i w kolumnach.

R




# create sample data> sample_matrix <-> matrix> (C <-(1:10),nrow=3, ncol=10)> > print> (> 'sample matrix:'> )> sample_matrix> > # Use apply() function across row to find sum> print> (> 'sum across rows:'> )> apply> ( sample_matrix, 1, sum)> > # use apply() function across column to find mean> print> (> 'mean across columns:'> )> apply> ( sample_matrix, 2, mean)>

Wyjście:

funkcja lapply().

Funkcja lapply() pomaga nam w stosowaniu funkcji na obiektach list i zwraca obiekt listy o tej samej długości. Funkcja lapply() w języku R pobiera listę, wektor lub ramkę danych jako dane wejściowe i podaje dane wyjściowe w postaci obiektu listy. Ponieważ funkcja lapply() wykonuje określoną operację na wszystkich elementach listy, nie potrzebuje MARGINESU.

Składnia: lapply(x, zabawa)

Parametry:

    x: określa wektor wejściowy lub obiekt. zabawa: określa funkcję, która ma zostać zastosowana do danych wejściowych.

Przykład:

Oto podstawowy przykład ilustrujący użycie funkcji lapply() do wektora.

R




# create sample data> names <-> c> (> 'priyank'> ,> 'abhiraj'> ,> 'pawananjani'> ,> > 'sudhanshu'> ,> 'devraj'> )> print> (> 'original data:'> )> names> > # apply lapply() function> print> (> 'data after lapply():'> )> lapply> (names, toupper)>

Wyjście:

funkcja saply().

Funkcja sapply() pomaga nam w stosowaniu funkcji na liście, wektorze lub ramce danych i zwraca tablicę lub obiekt macierzy o tej samej długości. Funkcja sapply() w języku R pobiera listę, wektor lub ramkę danych jako dane wejściowe i daje wynik w postaci tablicy lub obiektu macierzowego. Ponieważ funkcja sapply() wykonuje określoną operację na wszystkich elementach obiektu, nie potrzebuje MARGINESU. Działa tak samo jak lapply(), z tą tylko różnicą, że jest typem zwracanego obiektu.

Składnia: sapply(x, zabawa)

Parametry:

    x: określa wektor wejściowy lub obiekt. zabawa: określa funkcję, która ma zostać zastosowana do danych wejściowych.

Przykład:

Oto podstawowy przykład ilustrujący użycie funkcji sapply() do wektora.

R




# create sample data> sample_data <-> data.frame> ( x=> c> (1,2,3,4,5,6),> > y=> c> (3,2,4,2,34,5))> print> (> 'original data:'> )> sample_data> > # apply sapply() function> print> (> 'data after sapply():'> )> sapply> (sample_data, max)>

Wyjście:

funkcja tapply().

Funkcja tapply() pomaga nam obliczyć miary statystyczne (średnia, mediana, min, max itp.) lub samodzielnie napisaną operację funkcji dla każdej zmiennej czynnikowej w wektorze. Pomaga nam utworzyć podzbiór wektora, a następnie zastosować pewne funkcje do każdego z podzbiorów. Na przykład w organizacji, jeśli mamy dane o wynagrodzeniach pracowników i chcemy znaleźć średnie wynagrodzenie dla mężczyzn i kobiet, możemy użyć funkcji tapply() z płcią płci męskiej i żeńskiej jako czynnikiem zmiennym.

Składnia: tapply(x, indeks, zabawa)

Parametry:

    x: określa wektor wejściowy lub obiekt. indeks: określa wektor czynnikowy, który pomaga nam rozróżnić dane. zabawa: określa funkcję, która ma zostać zastosowana do danych wejściowych.

Przykład:

Oto podstawowy przykład ilustrujący użycie funkcji tapply() na zestawie danych Diamonds dostarczonym przez bibliotekę pakietu tidyverse.

R




# load library tidyverse> library> (tidyverse)> > # print head of diamonds dataset> print> (> ' Head of data:'> )> head> (diamonds)> > # apply tapply function to get average price by cut> print> (> 'Average price for each cut of diamond:'> )> tapply> (diamonds$price, diamonds$cut, mean)>

Wyjście: