R: come utilizzare la funzione lapply() con più argomenti


La funzione lapply() in R può essere utilizzata per applicare una funzione a ciascun elemento di una lista, vettore o frame di dati e ottenere una lista di conseguenza.

Per utilizzare la funzione lapply() con più argomenti, puoi utilizzare la seguente sintassi di base:

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

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: come utilizzare lapply() con più argomenti in R

Supponiamo di avere la seguente lista in 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

Il codice seguente definisce una funzione che accetta tre variabili e moltiplica le tre variabili insieme, quindi utilizza la funzione lapply() per applicare questa funzione a ciascun valore nel nostro elenco:

 #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

Tieni presente che la funzione lapply() moltiplica ciascun valore nell’elenco per 3 e poi per 5.

Per esempio:

  • Primo valore nell’elenco: 1 * 3 * 5 = 15
  • Secondo valore nell’elenco: 2 * 3 * 5 = 30
  • Terzo valore nell’elenco: 3 * 3 * 5 = 45
  • Quarto valore nell’elenco: 4 * 3 * 5 = 60

Utilizzando una sintassi simile, puoi fornire tutti gli argomenti che desideri alla funzione lapply() .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come applicare una funzione a ciascuna riga di frame di dati in R
Come utilizzare la funzione colSums() in R
Come utilizzare la funzione rowSums() in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *