A: як використовувати функцію lapply() із кількома аргументами


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

Щоб використовувати функцію lapply() із декількома аргументами, можна використати такий базовий синтаксис:

 #define function
my_function <- function (var1,var2,var3){
  var1*var2*var3
}

#apply function to list using multiple arguments
lapply(my_list, my_function, var2=3, var3=5)

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: як використовувати lapply() із кількома аргументами в R

Припустимо, у R є наступний список:

 #create a list
my_list <- list(A=1, B=2, C=3, D=4)

#view list
my_list

$A
[1] 1

$B
[1] 2

$C
[1] 3

$D
[1] 4

Наступний код визначає функцію, яка приймає три змінні та множить три змінні разом, а потім використовує функцію lapply() , щоб застосувати цю функцію до кожного значення в нашому списку:

 #define function
my_function <- function (var1,var2,var3){
  var1*var2*var3
}

#apply function to list using multiple arguments
lapply(my_list, my_function, var2=3, var3=5)

$A
[1] 15

$B
[1] 30

$C
[1] 45

$D
[1] 60

Зауважте, що функція lapply() множить кожне значення у списку на 3, а потім на 5.

Наприклад:

  • Перше значення в списку: 1 * 3 * 5 = 15
  • Друге значення в списку: 2 * 3 * 5 = 30
  • Третє значення в списку: 3 * 3 * 5 = 45
  • Четверте значення в списку: 4 * 3 * 5 = 60

Використовуючи подібний синтаксис, ви можете надати скільки завгодно аргументів функції lapply() .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як застосувати функцію до кожного рядка кадру даних у R
Як використовувати функцію colSums() у R
Як використовувати функцію rowSums() у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *