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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *