Curso
Quando se trata de resumir dados numéricos no R, o cálculo da média geralmente é a primeira etapa. Geralmente é a primeira coisa que faço, de qualquer forma.
Agora, "média" não precisa necessariamente se referir à média, mas, neste artigo, estou assumindo que sim, pois vou mostrar a você como trabalhar com a função mean()
no R, que é a ferramenta padrão do R para essa finalidade.
O que mean() faz no R?
A função mean()
calcula a média aritmética dos dados numéricos. Em outras palavras, ele soma todos os valores em seu vetor ou coluna e divide pelo número total de valores presentes. Como o mean()
faz parte do R básico, não há necessidade de carregar pacotes adicionais. Portanto, ele estará pronto para uso assim que você abrir o R.
Sintaxe da função mean()
Portanto, sabemos o que o mean()
faz, mas vamos examinar sua sintaxe básica para que você possa começar a aplicá-la:
mean(x, na.rm = FALSE, ...)
-
x
: Um vetor ou objeto numérico. -
na.rm
: Logical. Se você forTRUE
,mean()
ignorará os valores deNA
.
À medida que avançamos, você deve saber que a manipulação de dados ausentes e o trabalho com diferentes estruturas de dados introduzem algumas nuances, portanto, fique atento.
Calculando a média de um vetor numérico no R
Provavelmente, a coisa mais básica é calcular a média de um vetor:
daily_temperatures <- c(72, 68, 75, 70, 69)
mean(daily_temperatures)
Essa linha retorna a média de 72, 68, 75, 70 e 69, que é 70,8.
Manipulação de valores faltantes com na.rm no R
Os conjuntos de dados reais têm valores ausentes. Se os seus dados contiverem itens ausentes, mean()
retornará, como comportamento padrão, NA
. Isso pode surpreendê-lo se você não estiver esperando por isso, e é por isso que estamos dedicando tempo para aprender sobre o argumento na.rm
.
survey_scores <- c(82, 90, NA, 88, 85)
mean(survey_scores)
A execução desse procedimento retornará NA
. Para instruir o R a ignorar os valores ausentes, basta definir na.rm = TRUE
:
mean(survey_scores, na.rm = TRUE)
Agora, o site mean()
calcula a média usando apenas os números disponíveis.
Usando mean() com quadros de dados no R
Vamos estender seu uso a quadros de dados, que são uma estrutura típica para conjuntos de dados no R. Se você quiser a média de uma coluna específica, basta consultá-la usando o operador $
:
student_scores <- data.frame(
student_name = c("Amir", "Bianca", "Carlos"),
math_score = c(92, 85, 88)
)
mean(student_scores$math_score)
Isso calcula a pontuação média de todos os alunos em seu quadro de dados. Você pode aplicar essa abordagem a qualquer coluna numérica (mas ela precisa ser uma coluna numérica).
Média de valores lógicos no R
Até agora, concentramo-nos em dados numéricos, mas talvez você se surpreenda ao saber que o mean()
também funciona com vetores lógicos. Esse é um detalhe pequeno, mas importante, que não mencionei até agora.
Você pode usar mean()
com valores lógicos porque, no R, TRUE
é tratado como 1
e FALSE
como 0
, portanto, a média de um vetor lógico retornará a proporção dos valores de TRUE
. Isso pode ser útil se você precisar resumir resultados binários.
quiz_passed_flags <- c(TRUE, FALSE, TRUE, TRUE)
mean(quiz_passed_flags)
Aqui, o resultado é 0,75, pois 3 dos 4 valores são TRUE
.
Como encontrar a média ponderada no R
Às vezes, você precisa de uma média ponderada, quando pensa que valores diferentes contribuem de forma desigual para o resultado. Digite weighted.mean()
:
course_grades <- c(88, 92, 75)
assignment_weights <- c(0.3, 0.4, 0.3)
weighted.mean(course_grades, assignment_weights)
Ao usar weighted.mean()
, você poderá considerar a importância ou a frequência variável entre os valores. mean()
não fará isso sozinho.
Alguns aspectos a serem observados
Já mencionei a maioria desses aspectos até agora, mas deixe-me anotar possíveis problemas ou observações em um único lugar:
-
Dados não numéricos: Se o vetor ou a coluna não for numérico ou lógico, o site
mean()
apresentará um erro. -
NA manuseio: Esquecer de usar o site
na.rm = TRUE
quando você tiver dados faltantes fará com que você sempre se atrapalhe. -
Vetores vazios:
mean(numeric(0))
retornaNA
com um aviso.
Funções semelhantes no R
O R oferece várias funções relacionadas que ajudam você a explorar seus dados de diferentes ângulos. Todas elas também estão na base do R, o que significa que você pode usar essas funções sem importar bibliotecas.
-
median()
: Para o valor mediano -
sd()
: Para o desvio padrão -
sum()
: Para a soma dos valores
Se você quiser saber mais sobre a importância de diferentes medidas de centro, consulte nosso tutorial muito completo, Mean vs. Mediana: Conhecendo a diferença.
Conclusão
Na maioria das tarefas básicas de análise de dados, o site mean()
é a primeira parada para você resumir os números.
Continue aprendendo com nossos cursos, como Introdução ao R e Análise Exploratória de Dados em R.
