Jak korzystać z funkcji map() w r (z przykładami)


Funkcji map() pakietu purrr w R można użyć do zastosowania funkcji do każdego elementu wektora lub listy i odpowiedniego zwrócenia listy.

Ta funkcja wykorzystuje następującą podstawową składnię:

mapa(.x, .f)

Złoto:

  • .x : wektor lub lista
  • .f : funkcja

Poniższe przykłady pokazują, jak używać tej funkcji w różnych scenariuszach.

Przykład 1: Użyj map() do wygenerowania zmiennych losowych

Poniższy kod pokazuje, jak użyć funkcji map() do wygenerowania trzech zmiennych losowych, każda zawierająca pięć wartości zgodnych ze standardowym rozkładem normalnym:

 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

Dla każdego elementu wektora pierwotnego funkcja map() zastosowała funkcję rnorm() w celu wygenerowania pięciu losowych wartości ze standardowego rozkładu normalnego .

Przykład 2: Użyj map(), aby przekształcić każdą wartość w wektor

Poniższy kod pokazuje, jak używać funkcji map() do obliczania kwadratu każdej wartości w wektorze:

 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

Dla każdego elementu pierwotnego wektora funkcja map() zastosowała funkcję obliczającą kwadrat każdej wartości.

Przykład 3: Użyj map() do obliczenia średniej każdego wektora na liście

Poniższy kod pokazuje, jak używać funkcji map() do obliczania średniej wartości każdego wektora na liście:

 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

Dla każdego wektora na liście funkcja map() oblicza wartość średnią.

Z wyniku możemy zobaczyć:

  • Średnia wartość pierwszego wektora na liście wynosi 2 .
  • Średnia wartość drugiego wektora na liście wynosi 5 .
  • Średnia wartość trzeciego wektora na liście wynosi 7,5 .

Uwaga : Argument na.rm=TRUE mówi R, aby ignorował wartości NA podczas obliczania średniej.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych typowych funkcji w R:

Jak korzystać z funkcji tapply() w R
Jak korzystać z funkcji dim() w R
Jak korzystać z funkcji table() w R
Jak korzystać z funkcji znak() w R

Dodaj komentarz

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