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
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 ")
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 ")
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 ))
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
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