О: как использовать функцию 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