Я бы сделал два data.frames
и merge
их с помощью переменной времени.
> df.a<-data.frame(time=da, value.a=db)
> df.b<-data.frame(time=xa, value.b=xb)
> df.mix<-merge(df.a, df.b, by='time')
> df.mix
time value.a value.b
1 2012-02-02 09:01:00 0.4 0.30
2 2012-02-02 09:02:00 0.6 0.43
3 2012-02-02 09:03:00 0.5 0.70
Конвертируйте в POSIXct, как вы, а затем растопите его в длинный формат.
> df.mix$time<-as.POSIXct(df.mix$time)
> df.melt<-melt(df.mix, id.vars='time')
ggplot очень хорошо работает с данными длинного формата, поэтому обычно моя цель состоит в том, чтобы получить данные в подходящую структуру с melt
и merge
перед построением графика.
> ggplot(df.melt, aes(x=time, y=value, colour=variable)) + geom_path()
Мне также нравится использовать базуggplot
вместо qplot
для моей собственной читабельности.но это вопрос предпочтения.