使用 ggplot2 将年分为四季度

Divide year in quarters with ggplot2

首先是我的数据:

dput(UmsatzImEinzelhandelQuartalsdaten[1:10,])
structure(list(Name = c("Baden-Württemberg", "Baden-Württemberg",
"Baden-Württemberg", "Baden-Württemberg", "Baden-Württemberg",
"Baden-Württemberg", "Baden-Württemberg", "Baden-Württemberg",
"Baden-Württemberg", "Baden-Württemberg"), Jahr = c("2012", "2012",
"2012", "2012", "2013", "2013", "2013", "2013", "2014", "2014"
), Quartal = c("1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal",
"1. Quartal", "2. Quartal", "3. Quartal", "4. Quartal", "1. Quartal",
"2. Quartal"), Umsatz = c("101.2", "105", "102.8", "114.5", "100.5",
"104.8", "103.9", "113.5", "101.2", "107.7")), row.names = c(NA,
10L), class = "data.frame")

我需要这样的图表:https://i.stack.imgur.com/oOkPy.png y 轴为“Umsatz”,x 轴为“Jahr”。而且(最重要的是),我不仅需要每年的“Umsatz”(总结),还需要每年分成几个季度。

因此,我想要一个新列,它结合了列“Jahr”和“Umsatz”,然后我可以将其用作 x 轴。 尽管如此,我只被允许使用“ggplot2”。我怎么做?不幸的是,我不知道命令。

非常感谢 丽芙

您可以使用zoo::as.yearqtr函数

library(tidyverse)
library(zoo)

UmsatzImEinzelhandelQuartalsdaten %>% 
  mutate(Date = as.Date(as.yearqtr(paste(Jahr, Quartal), format = "%Y %q. Quartal"))) %>%
  ggplot(aes(x = Date, y = as.numeric(Umsatz), color = Name)) +
  geom_line()