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