O que fazem as funções head(), str() e summary()? Quando usar cada uma?
Passo 1
O que o enunciado pede:
- Explicar o que faz cada uma das funções
head(),str()esummary(). - Dizer quando usar cada uma (ou seja: em quais situações elas são úteis).
Informações que vamos usar (nenhum dado extra foi dado pelo enunciado; vou assumir o comportamento padrão dessas funções em R sobre vetores, fatores, listas e data.frames).
Passo 2
O que faz
head() — descrição detalhada e como interpretar.- O propósito: mostrar as primeiras linhas/elementos de um objeto para ter uma ideia rápida do conteúdo.
- Sintaxe básica:
head(x)ouhead(x, n)ondexé o objeto ené o número de linhas/elementos desejado (padrãon = 6). - Exemplos de uso e interpretação:
- Se
xé umdata.frame,head(x)mostra as primeiras 6 linhas com todas as colunas — ótimo para ver se as colunas e os valores iniciais parecem corretos. - Se
xé um vetor atômico (numeric, character),head(x)mostra os primeiros 6 elementos. - Se
xé uma lista,head(x)mostra os primeiros elementos da lista (o comportamento é análogo).
- Se
- Quando usar
head():- Ao abrir um novo conjunto de dados para ver rapidamente como começam as observações.
- Para checar títulos/nomes das colunas junto com valores iniciais.
- Antes de rodar operações destrutivas ou transformações complexas, só para inspecionar uma amostra inicial.
- Observação prática:
head()não resume formatos, classes ou estatísticas — apenas exibe amostras. Usehead(x, 10)se quiser mais exemplos.
Passo 3
O que faz
str() — descrição detalhada e como interpretar.- O propósito: dar uma “estrutura” compacta e técnica do objeto — tipos, dimensões e uma amostra curta dos conteúdos. É a primeira coisa que muitos usam para inspecionar um objeto em R.
- Sintaxe básica:
str(x)ondexé o objeto. - O que
str()mostra (tipicamente):- A classe do objeto (por exemplo
data.frame,list,numeric,factor). - Dimensões (por exemplo
data.frame: número de linhas e colunas;matrix: dimensões). - Para cada componente/coluna: o nome, o tipo (e.g.
int,num,chr,Factor w/ ... levels) e alguns valores de exemplo.
- A classe do objeto (por exemplo
- Exemplos de uso e interpretação:
- Em um
data.frame, verá algo como'$ var1: int 1 2 3 4 5 6'— isto mostra quevar1é inteiro e mostra os primeiros valores. - Em um
factor,str()indica quantos níveis existem. - Em uma
list,str()lista cada elemento com seu nome e tipo.
- Em um
- Quando usar
str():- Logo após carregar dados para checar rapidamente tipos de variáveis (numérico vs. factor vs. character), dimensões e estruturas aninhadas.
- Quando suspeitar de problemas de tipo (por exemplo colunas que deveriam ser numéricas mas vieram como
character). - Para entender a estrutura antes de escolher funções de manipulação/visualização adequadas.
- Por que
str()é tão útil: é conciso, não imprime todo o dataset (evita inundar a tela) e informa tipos — informação crucial para transformações.
Passo 4
O que faz
summary() — descrição detalhada e como interpretar.- O propósito: fornecer um resumo estatístico/resumido das variáveis de um objeto — estatísticas descritivas para numéricos e contagens/resumo para fatores/caracteres.
- Sintaxe básica:
summary(x)ondexé o objeto. - O que
summary()mostra (comportamento típico):- Para variáveis numéricas:
Min.,1st Qu.,Median,Mean,3rd Qu.,Max.— dá visão rápida da distribuição e presença de outliers. - Para
factor/character: frequência das primeiras categorias ou um resumo das contagens por nível (ou mensagem indicando muitos níveis). - Para
logical: contagem deTRUE/FALSE/NA. - Para
data.frame: aplicasummary()coluna a coluna e imprime um bloco com todos os resumos.
- Para variáveis numéricas:
- Quando usar
summary():- Depois de
str()para obter estatísticas básicas das colunas numéricas e entender distribuição central e dispersão. - Para detectar valores estranhos (ex.:
Max.muito grande,Min.negativo inesperado) ou muitosNAs. - Antes de modelagem/exploração para decidir transformações (log, padronização) ou para identificar variáveis categóricas com muitos níveis.
- Depois de
- Limitação:
summary()dá estatísticas univariadas; não mostra correlações nem padrões entre variáveis.
Passo 5
Comparação prática e fluxo recomendado (quando usar cada uma no seu fluxo de trabalho)
- Ordem sugerida ao abrir um novo dataset:
str(x)— para ver a estrutura, classes das colunas e dimensões. Objetivo: saber que tipos de variáveis existem.head(x)— para ver as primeiras observações e confirmar nomes/ordem das colunas e formato dos valores (útil complementarstr()).summary(x)— para obter estatísticas descritivas por coluna e detectar problemas numéricos, outliers eNAs.
- Exemplos de cenários:
- Se quero só checar rapidamente se o arquivo carregou:
head(x)é suficiente. - Se preciso confirmar que uma coluna é
factore quantos níveis:str(x)é a escolha. - Se quero saber medianas, médias e quartis para decidir transformar uma variável:
summary(x)é a ferramenta.
- Se quero só checar rapidamente se o arquivo carregou:
- Dica prática: combine com
names(x)(para ver nomes de colunas) edim(x)/nrow()/ncol()se precisar de dimensões explícitas.
Passo 6
Exemplos concretos rápidos (pseudo-exemplos que você pode rodar em R)
str(mtcars)— mostra tipos e uma amostra das colunas demtcars.head(mtcars, 8)— mostra as primeiras 8 linhas; útil para ver a formatação de, por exemplo,rownamescomo modelos de carro.summary(mtcars$mpg)— mostraMin.,1st Qu.,Median,Mean,3rd Qu.,Max.para a colunampg.- Mensagem de encorajamento: se ao usar
str()você encontrar uma coluna numérica comochr, converta comas.numeric()(cuidado comNAs) ou usereadr::cols()ao importar para forçar tipos.
Resposta
head(): mostra as primeiras observações/elementos de um objeto (padrão 6); usar quando quiser uma amostra rápida do conteúdo ou conferir formatação inicial.
str(): mostra a estrutura compacta do objeto (classe, dimensões, tipo de cada componente e amostra de valores); usar para entender tipos de variáveis e estrutura antes de manipular os dados.
summary(): fornece resumos estatísticos por variável (quartis, média, min/max para numéricos; contagens para fatores, etc.); usar para obter visão descritiva e detectar outliers, distribuição e valores faltantes.