R: como usar a função lapply() com vários argumentos


A função lapply() em R pode ser usada para aplicar uma função a cada elemento de uma lista, vetor ou quadro de dados e obter uma lista de acordo.

Para usar a função lapply() com vários argumentos, você pode usar a seguinte sintaxe básica:

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

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como usar lapply() com múltiplos argumentos em R

Suponha que temos a seguinte lista em 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

O código a seguir define uma função que aceita três variáveis e multiplica as três variáveis juntas, então usa a função lapply() para aplicar esta função a cada valor em nossa lista:

 #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

Observe que a função lapply() multiplica cada valor da lista por 3 e depois por 5.

Por exemplo:

  • Primeiro valor da lista: 1 * 3 * 5 = 15
  • Segundo valor da lista: 2 * 3 * 5 = 30
  • Terceiro valor da lista: 3 * 3 * 5 = 45
  • Quarto valor da lista: 4 * 3 * 5 = 60

Usando sintaxe semelhante, você pode fornecer quantos argumentos desejar para a função lapply() .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como aplicar uma função a cada linha do quadro de dados em R
Como usar a função colSums() em R
Como usar a função rowSums() em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *