Como traçar uma série temporal em r (com exemplos)


Freqüentemente, você pode querer traçar uma série temporal em R para visualizar como os valores na série temporal mudam ao longo do tempo.

Este tutorial explica como fazer isso rapidamente usando a biblioteca de visualização de dados ggplot2 .

Plotagem básica de séries temporais em R

Suponha que temos o seguinte conjunto de dados em R:

 #create dataset
df <- data.frame(date = as . Date (" 2021-01-01 ") - 0:99,
                 sales = runif (100, 10, 500) + seq (50, 149)^2)

#view first six rows
head(df)

        dirty date
1 2021-01-01 2845.506
2 2020-12-31 2837.849
3 2020-12-30 3115.517
4 2020-12-29 2847.161
5 2020-12-28 3374.619
6 2020-12-27 3182.005

Podemos usar o código a seguir para criar um gráfico básico de série temporal para este conjunto de dados usando ggplot2:

 library (ggplot2)

#create time series plot
p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line()

#display time series plot
p

Plotagem básica de séries temporais em R

Formatar datas no eixo X

Podemos usar a função scale_x_date() * para formatar as datas exibidas ao longo do eixo x do gráfico. Esta função recebe os seguintes argumentos:

  • %d: dia como um número entre 0 e 31
  • %a: dia da semana abreviado (por exemplo “Ter”)
  • %A: dia da semana não abreviado (por exemplo “Terça-feira”)
  • %m : meses entre 0 e 12
  • %b: mês abreviado (por exemplo “Jan”)
  • %B: mês não abreviado (por exemplo “janeiro”)
  • %y: ano com 2 dígitos (por exemplo “21”)
  • %Y: ano de 4 dígitos (por exemplo “2021”)
  • %W: Semana do ano entre 0 e 52

* Para que esta função funcione, a variável do eixo x deve ser uma variável de data. Se ainda não estiver, você pode convertê-lo rapidamente em um usando as.Date( variable_name) .

O código a seguir mostra como usar um desses formatos na prática:

 p + scale_x_date ( date_labels = " %b %Y ") 

Plotando séries temporais com datas personalizadas em R

Você também pode adicionar quebras mais frequentes (ou pouco frequentes) ao longo do eixo x usando o argumento date_breaks . Por exemplo, poderíamos exibir datas a cada duas semanas ao longo do eixo x:

 p + scale_x_date ( date_breaks = " 2 week ") 

Série temporal com saltos de data no eixo x em R

Também podemos distorcer facilmente os rótulos do eixo x usando o seguinte argumento:

 p + theme ( axis.text.x = element_text (angle= 50 , hjust= 1 )) 

Incline os rótulos do eixo X no ggplot2

Finalmente, podemos alterar o tema, os rótulos dos eixos e o título para tornar o gráfico da série temporal mais atraente visualmente:

 p <- ggplot(df, aes (x=date, y=sales)) +
       geom_line( color =" turquoise4 ") +
       theme_minimal() + 
       labs(x="", y=" Sales ", title=" Total Sales (Past 100 Days) ") +
       theme( plot.title = element_text (hjust=0.5, size=20, face=" bold "))

p 

Série temporal com tema ggplot personalizado em R

Recursos adicionais

Um guia completo para os melhores temas ggplot2
O guia completo para títulos ggplot2
Como criar gráficos lado a lado no ggplot2

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *