O: jak używać funkcji lapply() z wieloma argumentami


Funkcji lapply() w R można użyć do zastosowania funkcji do każdego elementu listy, wektora lub ramki danych i uzyskania odpowiedniej listy .

Aby użyć funkcji lapply() z wieloma argumentami, możesz użyć następującej podstawowej składni:

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

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: Jak używać lapply() z wieloma argumentami w R

Załóżmy, że mamy następującą listę w 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

Poniższy kod definiuje funkcję, która akceptuje trzy zmienne i mnoży je razem, a następnie używa funkcji lapply() do zastosowania tej funkcji do każdej wartości na naszej liście:

 #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

Zauważ, że funkcja lapply() mnoży każdą wartość na liście przez 3, a następnie przez 5.

Na przykład:

  • Pierwsza wartość na liście: 1 * 3 * 5 = 15
  • Druga wartość na liście: 2 * 3 * 5 = 30
  • Trzecia wartość na liście: 3 * 3 * 5 = 45
  • Czwarta wartość na liście: 4 * 3 * 5 = 60

Używając podobnej składni, możesz podać dowolną liczbę argumentów funkcji lapply() .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak zastosować funkcję do każdego wiersza ramki danych w R
Jak korzystać z funkcji colSums() w R
Jak korzystać z funkcji rowSums() w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *