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