So verwenden sie die funktion „map()“ in r (mit beispielen)


Mit der Funktion „map() “ des purrr- Pakets in R kann eine Funktion auf jedes Element eines Vektors oder einer Liste angewendet und entsprechend eine Liste zurückgegeben werden.

Diese Funktion verwendet die folgende grundlegende Syntax:

Karte(.x, .f)

Gold:

  • .x : Ein Vektor oder eine Liste
  • .f : Eine Funktion

Die folgenden Beispiele zeigen, wie Sie diese Funktion in verschiedenen Szenarien verwenden.

Beispiel 1: Verwenden Sie map(), um Zufallsvariablen zu generieren

Der folgende Code zeigt, wie Sie mit der Funktion „map()“ drei Zufallsvariablen generieren, die jeweils fünf Werte enthalten, die einer Standardnormalverteilung folgen:

 library (purrr)

#definevector
data <- 1:3

#apply rnorm() function to each value in vector
data %>%
  map( function (x) rnorm(5, x))

[[1]]
[1] 0.0556774 1.8053082 2.6489861 2.2640136 1.1062672

[[2]]
[1] 1.450175 1.123048 3.413677 3.055304 2.713801

[[3]]
[1] 2.936732 2.157129 3.693738 2.994391 2.567040

Für jedes Element des ursprünglichen Vektors wendete die Funktion „map()“ die Funktion „rnorm()“ an, um fünf Zufallswerte aus einer Standardnormalverteilung zu generieren.

Beispiel 2: Verwenden Sie map(), um jeden Wert in einen Vektor umzuwandeln

Der folgende Code zeigt, wie Sie mit der Funktion „map()“ das Quadrat jedes Werts in einem Vektor berechnen:

 library (purrr)

#definevector
data <- c(2, 4, 10, 15, 20)

#calculate square of each value in the vector
data %>%
  map( function (x) x^2)

[[1]]
[1] 4

[[2]]
[1] 16

[[3]]
[1] 100

[[4]]
[1] 225

[[5]]
[1] 400

Für jedes Element des ursprünglichen Vektors wendete die Funktion „map()“ eine Funktion an, die das Quadrat jedes Werts berechnete.

Beispiel 3: Verwenden Sie map(), um den Durchschnitt jedes Vektors in der Liste zu berechnen

Der folgende Code zeigt, wie Sie mit der Funktion „map()“ den Durchschnittswert jedes Vektors in einer Liste berechnen:

 library (purrr)

#define list of vectors
data <- list(c(1, 2, 3),
             c(4, 5, 6),
             c(7, 8, NA))

#calculate mean value of each vector in list
data %>%
  map(mean, na. rm = TRUE )

[[1]]
[1] 2

[[2]]
[1] 5

[[3]]
[1] 7.5

Für jeden Vektor in der Liste berechnet die Funktion map() den Durchschnittswert.

Aus dem Ergebnis können wir sehen:

  • Der Durchschnittswert des ersten Vektors in der Liste beträgt 2 .
  • Der Durchschnittswert des zweiten Vektors in der Liste beträgt 5 .
  • Der Durchschnittswert des dritten Vektors in der Liste beträgt 7,5 .

Hinweis : Das Argument na.rm=TRUE weist R an, NA-Werte bei der Berechnung des Durchschnitts zu ignorieren.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere gängige Funktionen in R verwenden:

So verwenden Sie die Funktion tapply() in R
So verwenden Sie die Funktion dim() in R
So verwenden Sie die Funktion table() in R
So verwenden Sie die Funktion sign() in R

Einen Kommentar hinzufügen

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