Como usar na.rm em r (com exemplos)
Você pode usar o argumento na.rm=TRUE para excluir valores ausentes ao calcular estatísticas descritivas em R.
#calculate mean and exclude missing values mean(x, na. rm = TRUE ) #calculate sum and exclude missing values sum(x, na. rm = TRUE ) #calculate maximum and exclude missing values max(x, na. rm = TRUE ) #calculate standard deviation and exclude missing values sd(x, na. rm = TRUE )
Os exemplos a seguir mostram como usar esse argumento na prática com vetores e quadros de dados.
Exemplo 1: Usando na.rm com vetores
Suponha que estejamos tentando calcular a média, a soma, o máximo e o desvio padrão do seguinte vetor em R que contém valores ausentes:
#define vector with some missing values
x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16)
mean(x)
[1] NA
sum(x)
[1] NA
max(x)
[1] NA
sd(x)
[1] NA
Cada uma dessas funções retorna um valor de NA .
Para excluir valores faltantes ao realizar esses cálculos, podemos simplesmente incluir o argumento na.rm = TRUE da seguinte forma:
#define vector with some missing values x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16) mean(x, na. rm = TRUE ) [1] 7.428571 sum(x, na. rm = TRUE ) [1] 52 max(x, na. rm = TRUE ) [1] 16 sd(x, na. rm = TRUE ) [1] 4.790864
Observe que conseguimos realizar cada cálculo com êxito, excluindo os valores ausentes.
Exemplo 2: Usando na.rm com quadros de dados
Suponha que temos o seguinte quadro de dados em R que contém valores ausentes:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, NA, 3, 2), var3=c(3, 3, NA, 6, 8), var4=c(1, 1, 2, 8, NA)) #view data frame df var1 var2 var3 var4 1 1 7 3 1 2 3 7 3 1 3 3 NA NA 2 4 4 3 6 8 5 5 2 8 NA
Podemos usar a função apply() para calcular estatísticas descritivas para cada coluna no quadro de dados e usar o argumento na.rm = TRUE para excluir valores ausentes ao realizar estes cálculos:
#calculate mean of each column
apply(df, 2, mean, na. rm = TRUE )
var1 var2 var3 var4
3.20 4.75 5.00 3.00
#calculate sum of each column
apply(df, 2, sum, na. rm = TRUE )
var1 var2 var3 var4
16 19 20 12
#calculate max of each column
apply(df, 2, max, na. rm = TRUE )
var1 var2 var3 var4
5 7 8 8
#calculate standard deviation of each column
apply(df, 2, sd, na. rm = TRUE )
var1 var2 var3 var4
1.483240 2.629956 2.449490 3.366502
Mais uma vez, conseguimos concluir cada cálculo com êxito, excluindo os valores ausentes.
Recursos adicionais
Os tutoriais a seguir explicam como realizar outras tarefas comuns com valores ausentes em R:
Como usar is.null em R
Como usar na.omit em R
Como usar is.na em R