Вы можете объединить оба data.frames вместе, используя dplyr::bind_rows
, а затем используйте tidyr::expand
, чтобы заполнить все недостающие quarter
и year
.
Теперь вы можете нарисовать график line
и point
вместе, используя ggplot
как:
library(tidyverse)
library(ggplot2)
bind_rows(df1, df2, .id="Name") %>%
right_join(expand(., Name, year = min(year):max(year),
quarter = c("q1","q2","q3","q4")), by=c("Name","quarter","year")) %>%
unite(YearQtr, c("year","quarter"), sep=":") %>%
ggplot(aes(x = YearQtr, y = value, group=Name, col = Name)) +
geom_point() +
geom_line()
Результат:
Данные:
df1 <- read.table(text="
quarter year value
q1 2012 100
q3 2013 200
q4 2014 400
q4 2015 250
q3 2014 400",
header = TRUE, stringsAsFactors = FALSE)
df2 <- read.table(text="
quarter year value
q1 2014 100
q3 2012 200
q4 2015 400
q4 2012 250
q3 2015 400",
header = TRUE, stringsAsFactors = FALSE)