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