使用xts在R中绘制具有不同时间索引的多个时间序列

罗兰

使用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我找到了一些,但是我不确定它们是最好的方法。

  1. na.omit(my.ts)并且na.exclude(my.ts)看起来过于贪婪-它们只保留行而不是两列NA我如何使这种行为仅发生在按行操作中?
  2. na.approx(my.ts)填充了NAs,但我想知道这种线性近似是否正在创建人造数据点,从而使绘图看起来有所不同。
  3. 我认为,最好的方法是将一个选项传递给绘图,以告诉您应该使用NAs做些什么有这样的事吗?
G.格洛腾迪克

使用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在chartjs中绘制多个时间序列,其中每个时间序列具有不同的时间

forTime循环中具有不同时间的setTimeout

在Python中合并具有不同时间频率的系列/数据框

在几天(R)上创建具有相同时间戳的虚拟时间序列

R-使用ggplot2在线图中绘制不同时间序列的滚动平均值

矩阵中不同时间序列的互相关

R中不同时间间隔的聚合分钟时间

SparkSQL:如何对两个具有不同时间戳的时间序列数据集求和

熊猫:合并具有不同时间频率的列

使用向量作为输入来查询R中不同时间序列的函数

绘制超过一天的具有不同时间戳和datetime.time格式的时间序列

如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

以10分钟的间隔连接和绘制具有不同时间的数据

在R中绘制具有不同颜色的时间序列

如何计算R中具有不同时间范围和NA的时间序列数据的均值

合并两个具有不同时间粒度的时间序列

在Excel中绘制具有不同日期/时间的多个时间序列数据

具有不同时间跨度的闪烁按钮

SQL查询以合并两个具有不同时间戳的表作为索引

将时间序列合并为具有不同时间实例的单个图

将具有相同时间范围的两个时间序列数据添加到单个数据帧或xts数据的最佳方法

在 R 中重塑不同时间长度的数据

具有不同时间javascript的div中的循环类

xts 可以处理具有相同时间索引的多个时间序列吗?

如何在R中同步具有部分不同时间戳的数据

合并具有不同时间戳(不同时间间隔)的两个数据帧

比较 R 中具有不同时间戳的时间序列

具有不同时间间隔的系列的工具提示

如何将具有不同时间轴的 2 个或多个 maesurements(csv) 绘制成一个带有熊猫的图形并绘图