Como usar a função map() em r (com exemplos)


A função map() do pacote purrr em R pode ser usada para aplicar uma função a cada elemento de um vetor ou lista e retornar uma lista de acordo.

Esta função usa a seguinte sintaxe básica:

mapa (.x, .f)

Ouro:

  • .x : um vetor ou uma lista
  • .f : Uma função

Os exemplos a seguir mostram como usar essa função em diferentes cenários.

Exemplo 1: Use map() para gerar variáveis aleatórias

O código a seguir mostra como usar a função map() para gerar três variáveis aleatórias, cada uma contendo cinco valores que seguem uma distribuição normal padrão:

 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

Para cada elemento do vetor original, a função map() aplicou a função rnorm() para gerar cinco valores aleatórios de uma distribuição normal padrão .

Exemplo 2: Use map() para transformar cada valor em um vetor

O código a seguir mostra como usar a função map() para calcular o quadrado de cada valor em um vetor:

 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

Para cada elemento do vetor original, a função map() aplicou uma função que calculou o quadrado de cada valor.

Exemplo 3: Use map() para calcular a média de cada vetor da lista

O código a seguir mostra como usar a função map() para calcular o valor médio de cada vetor em uma lista:

 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

Para cada vetor da lista, a função map() calcula o valor médio.

Pelo resultado podemos ver:

  • O valor médio do primeiro vetor da lista é 2 .
  • O valor médio do segundo vetor da lista é 5 .
  • O valor médio do terceiro vetor da lista é 7,5 .

Nota : O argumento na.rm=TRUE diz ao R para ignorar os valores de NA ao calcular a média.

Recursos adicionais

Os tutoriais a seguir explicam como usar outras funções comuns em R:

Como usar a função tapply() em R
Como usar a função dim() em R
Como usar a função table() em R
Como usar a função sign() em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *