Como usar a função coalesce() em dplyr (com exemplos)


Você pode usar a função coalesce() do pacote dplyr em R para retornar o primeiro valor não ausente em cada posição de um ou mais vetores.

Existem duas maneiras comuns de usar esta função:

Método 1: Substitua os valores ausentes no vetor

 library (dplyr)

#replace missing values with 100
coalescence(x, 100)

Método 2: Retornar o primeiro valor não ausente nas colunas do quadro de dados

 library (dplyr)

#return first non-missing value at each position across columns A and B
coalesce(df$A, df$B)

Os exemplos a seguir mostram como aplicar cada método na prática.

Exemplo 1: Use coalesce() para substituir valores ausentes no vetor

O código a seguir mostra como usar a função coalesce() para substituir todos os valores ausentes em um vetor por um valor 100:

 library (dplyr)

#create vector of values
x <- c(4, NA, 12, NA, 5, 14, 19)

#replace missing values with 100
coalescence(x, 100)

[1] 4 100 12 100 5 14 19

Observe que cada valor NA no vetor original foi substituído por um valor de 100 .

Exemplo 2: Use coalesce() para retornar o primeiro valor não ausente nas colunas do quadro de dados

Suponha que temos o seguinte quadro de dados em R:

 #create data frame
df <- data. frame (A=c(10, NA, 5, 6, NA, 7, NA),
                 B=c(14, 9, NA, 3, NA, 10, 4))

#view data frame
df

   AB
1 10 14
2 NA 9
3 5 NA
4 6 3
5 NA NA
6 7 10
7 NA 4

O código a seguir mostra como usar a função coalesce() para retornar o primeiro valor não omisso nas colunas A e B do quadro de dados:

 library (dplyr)

#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B)

#view updated data frame
df

   ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA NA
6 7 10 7
7 NA 4 4

A coluna C resultante contém o primeiro valor não omisso nas colunas A e B.

Observe que a linha 5 tem um valor NA na coluna C, pois as colunas A e B tinham valores NA nesta linha.

Podemos simplesmente adicionar um valor extra à função coalesce() para usar como valor se houver valores NA em cada coluna:

 library (dplyr)

#create new column that coalesces values from columns A and B
df$C <- coalesce(df$A, df$B, 100)

#view updated data frame
df

   ABC
1 10 14 10
2 NA 9 9
3 5 NA 5
4 6 3 6
5 NA NA 100
6 7 10 7
7 NA 4 4

Observe que o valor NA na linha 5 da coluna C foi agora substituído por um valor de 100 .

Recursos adicionais

Os tutoriais a seguir explicam como executar outras funções comuns usando dplyr:

Como deletar linhas usando dplyr
Como organizar linhas usando dplyr
Como filtrar por múltiplas condições usando dplyr

Add a Comment

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