Curso
Encontrar a mediana é uma parte fundamental da análise de dados, especialmente quando você está lidando com distribuições distorcidas ou outliers.
No R, a função median()
oferece uma maneira simples e integrada de calcular uma medida de tendência central muito importante (não paramétrica!). Eu mostrarei a você como funciona:
O que o R median() faz?
A função median()
examina seus dados numéricos e retorna (uma interpretação) o valor central.
median(numeric_vector)
Aqui, numeric_vector
refere-se a um vetor numérico ou a um objeto semelhante, como uma coluna em um quadro de dados.
Um exemplo simples usando R median()
Vamos ver isso em ação. Suponha que você tenha um pequeno vetor de números:
sales_numbers <- c(3, 5, 8, 2, 7)
median(sales_numbers)
O R classifica automaticamente os números (2, 3, 5, 7, 8)
e, em seguida, retorna 5
. Esse é o valor que fica bem no centro.
Mas e se o seu vetor tiver um número par de elementos, como no próximo exemplo?
quarterly_sales <- c(10, 4, 7, 2)
median(quarterly_sales)
Aqui, R classifica para (2, 4, 7, 10)
e, em seguida, calcula a média dos dois números intermediários (4
e 7
), resultando em 5.5
.
Se o seu conjunto de dados contiver um número ímpar de valores, ele simplesmente escolherá o que estiver no centro. Para um número par de valores, o site median()
calcula a média dos dois números intermediários.
Portanto, por baixo do pano, o median()
faz a classificação para você, o que é muito conveniente.
Manipulação de valores NA com median()
À medida que seus conjuntos de dados aumentam, é comum você encontrar valores ausentes. Elas podem atrapalhar seus cálculos se você não for cuidadoso. Por padrão, o site median()
retornará NA
se houver valores ausentes no vetor. (Quaisquer valores ausentes). Vamos ver como isso se desenrola:
monthly_sales <- c(6, 3, NA, 9)
median(monthly_sales)
Observe que o resultado é NA
. Para contornar isso, adicione o argumento na.rm = TRUE
. Isso diz ao R para remover os valores ausentes antes de calcular a mediana:
median(monthly_sales, na.rm = TRUE)
Dessa vez, você obterá 6
(a mediana dos valores restantes (3
, 6
e 9
)). Fique atento a esses NAs, pois eles podem entrar sorrateiramente nos dados e atrapalhar a análise se você se esquecer deles.
Como encontrar a mediana por grupo no R
Vamos tentar algo novo: comparar as medianas entre grupos diferentes.
Uma pergunta comum: We se você quiser ver a renda média por região? Assim como fizemos com os vetores simples, o R facilita isso, mas agora precisaremos agrupar nossos dados primeiro.
Uma maneira rápida no R base é com tapply()
:
income_values <- c(40000, 50000, 45000, 35000, 60000, 30000)
region_labels <- c("East", "West", "West", "East", "East", "West")
tapply(income_values, region_labels, median)
Isso calcula a renda média de cada região.
Se preferir trabalhar com o pacote dplyr
, você pode obter o mesmo resultado usando uma sintaxe amigável ao pipe:
library(dplyr)
income_data <- data.frame(income = income_values, region = region_labels)
income_data %>%
group_by(region) %>%
summarise(median_income = median(income))
Com essa abordagem, você obtém uma tabela de resumo organizada, listando a renda média de cada região.
Resumos agrupados como esse são especialmente úteis quando você deseja comparar tendências centrais entre categorias em seus dados.
Cálculo da mediana para colunas de quadros de dados no R
Às vezes, você pode querer obter a mediana de cada coluna em um quadro de dados de uma só vez - talvez para uma rápida verificação dos valores centrais do conjunto de dados. Aqui usarei sapply()
.
test_scores <- data.frame(math = c(1, 2, 3), science = c(7, 8, 9))
sapply(test_scores, median)
Esse comando retorna a mediana de cada coluna, para que você possa identificar tendências ou discrepâncias rapidamente. Essa técnica é especialmente útil quando você está explorando novos dados e deseja ter uma visão geral rápida.
Coisas que você deve observar
Antes de concluirmos, vamos destacar algumas armadilhas comuns e práticas recomendadas para garantir que você navegue sem problemas com o median()
:
-
Verifique se você está passando apenas dados numéricos para
median()
. Se você tentar um fator ou vetor de caracteres, o R emitirá um erro. -
Lembre-se de usar
na.rm = TRUE
se você suspeitar de dados ausentes. -
Você não precisa classificar os dados manualmente. O site
median()
cuida da classificação internamente, portanto, basta passar o vetor como está.
Conclusão
A função median()
é uma ótima maneira de entender o verdadeiro centro dos seus dados, especialmente quando o conjunto de dados contém valores discrepantes que podem distorcer a média. A função median()
também é flexível o suficiente para lidar com complexidades como valores ausentes ou resumos agrupados.
Para as próximas etapas, também escrevi um pequeno artigo sobre a função mean() do R, se você quiser dar uma olhada. E lembre-se de fazer nosso curso Exploratory Data Analysis in R (Análise Exploratória de Dados em R) para que você realmente desenvolva todas as habilidades úteis e importantes para o trabalho.
