A: so verwenden sie die funktion lapply() mit mehreren argumenten


Die Funktion lapply() in R kann verwendet werden, um eine Funktion auf jedes Element einer Liste, eines Vektors oder eines Datenrahmens anzuwenden und eine entsprechende Liste zu erhalten.

Um die Funktion lapply() mit mehreren Argumenten zu verwenden, können Sie die folgende grundlegende Syntax verwenden:

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

Das folgende Beispiel zeigt, wie diese Syntax in der Praxis verwendet wird.

Beispiel: Wie man lapply() mit mehreren Argumenten in R verwendet

Angenommen, wir haben die folgende Liste 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

Der folgende Code definiert eine Funktion, die drei Variablen akzeptiert und die drei Variablen miteinander multipliziert und dann die Funktion lapply() verwendet, um diese Funktion auf jeden Wert in unserer Liste anzuwenden:

 #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

Beachten Sie, dass die Funktion lapply() jeden Wert in der Liste mit 3 und dann mit 5 multipliziert.

Zum Beispiel:

  • Erster Wert in der Liste: 1 * 3 * 5 = 15
  • Zweiter Wert in der Liste: 2 * 3 * 5 = 30
  • Dritter Wert in der Liste: 3 * 3 * 5 = 45
  • Vierter Wert in der Liste: 4 * 3 * 5 = 60

Mithilfe einer ähnlichen Syntax können Sie der Funktion lapply() beliebig viele Argumente bereitstellen.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in R ausführen:

So wenden Sie eine Funktion auf jede Datenrahmenzeile in R an
So verwenden Sie die Funktion colSums() in R
So verwenden Sie die Funktion rowSums() in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert