logo

apply(), lapply(), sapply() і tapply() у R

У цій статті ми дізнаємося про функції apply(), lapply(), sapply() і tapply() у Мова програмування R.

Колекція apply() є частиною основного пакета R. Це сімейство функцій допомагає нам застосувати певну функцію до певного кадру даних, списку або вектора та повернути результат у вигляді списку або вектора залежно від функції, яку ми використовуємо. У сімействі функцій apply() є такі чотири типи функцій:



функція apply().

Функція apply() дозволяє нам застосовувати функцію до рядків або стовпців матриці або кадру даних. Ця функція приймає матрицю або кадр даних як аргумент разом із функцією та тим, чи має вона застосовуватися до рядка чи стовпця, і повертає результат у формі вектора, масиву чи списку отриманих значень.

Синтаксис: apply(x, margin, function)

Параметри:



    x: визначає вхідний масив, включаючи матрицю. margin: Якщо поле дорівнює 1, функція застосовується до рядка, якщо поле дорівнює 2, вона застосовується до стовпця. функція: визначає функцію, яка буде застосована до вхідних даних.

приклад:

Ось базовий приклад, що демонструє використання функції apply() як у рядках, так і в стовпцях.

Р



двійковий пошук




# 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)>

>

>

Вихід:

функція lapply().

Функція lapply() допомагає нам застосовувати функції до об’єктів списку та повертає об’єкт списку тієї ж довжини. Функція lapply() у мові R приймає список, вектор або фрейм даних як вхідні дані та видає вихідні дані у формі об’єкта списку. Оскільки функція lapply() застосовує певну операцію до всіх елементів списку, їй не потрібен MARGIN.

Синтаксис: lapply (x, весело)

Параметри:

    x: визначає вхідний вектор або об’єкт. fun: визначає функцію, яка буде застосована до вхідних даних.

приклад:

з'єднання та типи з'єднань

Ось базовий приклад, що демонструє використання функції lapply() для вектора.

Р




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

>

>

Вихід:

jquery одним клацанням миші

функція sapply().

Функція sapply() допомагає нам застосовувати функції до списку, вектора або кадру даних і повертає об’єкт масиву або матриці такої ж довжини. Функція sapply() у мові R приймає список, вектор або кадр даних як вхідні дані та видає вихідні дані у формі масиву або матричного об’єкта. Оскільки функція sapply() застосовує певну операцію до всіх елементів об’єкта, їй не потрібен MARGIN. Це те саме, що lapply() з тією лише різницею, що тип об’єкта, що повертається.

Синтаксис: sapply(x, весело)

Параметри:

    x: визначає вхідний вектор або об’єкт. fun: визначає функцію, яка буде застосована до вхідних даних.

приклад:

Ось базовий приклад, що демонструє використання функції sapply() для вектора.

Р




# 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)>

>

рівність об’єктів Java
>

Вихід:

функція tapply().

Tapply() допомагає нам обчислювати статистичні вимірювання (середнє значення, медіана, мінімальне значення, максимальне значення тощо) або самостійно записану функцію для кожної факторної змінної у векторі. Це допомагає нам створити підмножину вектора, а потім застосувати деякі функції до кожної з підмножин. Наприклад, в організації, якщо у нас є дані про заробітну плату співробітників і ми хочемо знайти середню заробітну плату для чоловіків і жінок, тоді ми можемо використати функцію tapply() з чоловіком і жінкою як фактором змінної статі.

Синтаксис: tapply(x, індекс, весело)

Параметри:

    x: визначає вхідний вектор або об’єкт. індекс: визначає факторний вектор, який допомагає нам розрізняти дані. Fun: визначає функцію, яка буде застосована до вхідних даних.

приклад:

Ось базовий приклад, що демонструє використання функції tapply() для набору даних diamonds, який надається бібліотекою пакетів tidyverse.

Р


java parseint



# 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)>

>

>

Вихід: