使用R,我有几个时间序列,它们有不同的时间索引,例如
date.a<-seq(as.Date('2014-01-01'),as.Date('2014-02-01'),by = 2)
date.b<-seq(as.Date('2014-01-01'),as.Date('2014-02-15'),by = 3)
df.a <- data.frame(time=date.a, A=sin((1:16)*pi/8))
df.b <- data.frame(time=date.b, B=cos((1:16)*pi/8))
我将它们合并为一个xts
时间序列
my.ts <- merge(xts(df.a$A,df.a$time),xts(df.b$B,df.b$time))
我想将它们都显示在单独的面板上,或者以不同的颜色显示在一个面板上。
更新:
使用xtsExtra
,我可以使用以下命令在一个图中显示两个系列,或在单独的面板中显示每个系列:
#one panel, different colors
plot(my.ts, screens=1, type="p")
#two panels, same color
plot(my.ts, screens=c(1,2), type="p")
此方法仅适用于type="p"
-绘制线条不会显示整个序列,并会产生不连续性。这可能NA
是由于合并系列引起的引起的。我必须使用哪些选项NA
?我找到了一些,但是我不确定它们是最好的方法。
na.omit(my.ts)
并且na.exclude(my.ts)
看起来过于贪婪-它们只保留行而不是两列NA
。我如何使这种行为仅发生在按行操作中?na.approx(my.ts)
填充了NA
s,但我想知道这种线性近似是否正在创建人造数据点,从而使绘图看起来有所不同。NA
s做些什么。有这样的事吗?使用na.approx
。另请注意,此处使用了已经由xts加载的zoo:
z <- na.approx(as.zoo(my.ts))
# plot.zoo
plot(z, screen = 1, col = 1:2, ylab = "Y", xlab = "")
# xyplot.zoo
library(lattice)
xyplot(z, screen = 1, col = 1:2, ylab = "Y", xlab = "")
# autoplot.zoo
library(ggplot2)
autoplot(z, facet = NULL) + ylab("Y")
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句