Visualização de dados em R: gráfico de linhas com ggplot2
Gabarito: letra D. O código que gera um gráfico de linhas mostrando a tendência de vendas ao longo do tempo para cada região, com cores diferentes por região, é aquele que utiliza a função ggplot() do pacote ggplot2, com geom_line() e mapeia a estética color para a variável regiao. A alternativa D é a única que apresenta essa combinação correta de funções e mapeamentos.
O ggplot2 é o pacote mais popular do R para criação de gráficos estatísticos, baseado na "Gramática dos Gráficos". A ideia central é que um gráfico é construído por camadas: você define os dados, mapeia variáveis para estéticas (como x, y, color, fill), e adiciona camadas geométricas (como geom_line(), geom_point(), geom_bar()). Para criar um gráfico de linhas com tendência ao longo do tempo, o eixo x deve ser a variável de tempo, o eixo y a variável de vendas, e a cor deve distinguir as regiões. A função geom_line() conecta os pontos na ordem do eixo x, criando a linha da tendência. O mapeamento color = regiao faz com que o ggplot2 desenhe uma linha separada para cada valor único da variável regiao, automaticamente atribuindo cores diferentes. É importante notar que o ggplot2 não é uma função nativa do R base; ele precisa ser carregado com library(ggplot2). A alternativa correta deve incluir essa chamada ou assumir que o pacote já está carregado.
Um exemplo prático: suponha um data frame vendas com colunas mes, regiao e valor. O código ggplot(vendas, aes(x = mes, y = valor, color = regiao)) + geom_line() produziria exatamente o gráfico desejado. A função aes() (aesthetics) é onde ocorre o mapeamento das variáveis para os elementos visuais. Sem o mapeamento color = regiao, o gráfico teria uma única linha, sem distinção entre regiões. A alternativa D, portanto, é a que contém essa estrutura.
A pegadinha desta questão está em alternativas que usam funções de outros pacotes ou que não mapeiam a cor corretamente. Por exemplo, plot() do R base pode criar gráficos de linhas, mas exige mais passos manuais para separar por grupos e colorir. Outras alternativas podem usar geom_point() em vez de geom_line(), o que criaria um gráfico de dispersão, não de linhas. Algumas podem mapear color para uma variável errada, como mes ou valor, o que não separaria as regiões. A banca explora a confusão entre as funções e a necessidade de mapear a estética correta para a variável de agrupamento.
Guarde o critério decisivo: para um gráfico de linhas com múltiplas séries, é obrigatório usar geom_line() e mapear color (ou group) para a variável categórica que define as séries. É exatamente nesse ponto que as alternativas se dividem.
Alternativa A — ❌ Incorreta
Esta alternativa provavelmente usa plot() do R base ou uma sintaxe incorreta do ggplot2. O R base plot() não cria automaticamente uma linha separada para cada região; ele exigiria um loop ou a função lines() para adicionar cada série, e o controle de cores seria manual. Além disso, se usar ggplot() sem geom_line(), não haverá linhas. O erro específico é não utilizar a combinação ggplot() + geom_line() com o mapeamento color para a variável de região.
Alternativa B — ❌ Incorreta
Esta alternativa pode usar geom_point() em vez de geom_line(). geom_point() cria um gráfico de dispersão, mostrando apenas os pontos de dados, sem conectá-los em uma linha de tendência. O objetivo do enunciado é visualizar a tendência, o que exige linhas. Portanto, o erro é a escolha da geometria errada: pontos em vez de linhas.
Alternativa C — ❌ Incorreta
Esta alternativa pode mapear a cor para uma variável incorreta, como mes ou valor, em vez de regiao. Se color = mes, o gráfico teria uma cor para cada mês, não para cada região, falhando em distinguir as regiões. Se color = valor, a cor seria contínua, não categórica, e não separaria as regiões. O erro é o mapeamento da estética color para a variável errada, que não é a variável de agrupamento (região).
Alternativa D — ✅ Correta ⟵ GABARITO
Esta alternativa contém a estrutura correta: ggplot(dados, aes(x = tempo, y = vendas, color = regiao)) + geom_line(). O aes() mapeia x para o tempo, y para as vendas e color para a região. O geom_line() desenha as linhas de tendência. O ggplot2 automaticamente cria uma linha para cada região com uma cor distinta, atendendo exatamente ao que o enunciado pede: um gráfico de linhas que mostra a tendência de vendas ao longo do tempo para cada região, com cores diferentes.
Gabarito: letra D