首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将时间序列数据从宽到高转换为格式(用于绘图)?

如何将时间序列数据从宽到高转换为格式(用于绘图)?

提问于 2018-03-05 06:17:33
回答 2关注 0查看 357

我有一个数据框包含多个时间序列的回报,存储在列中。

第一列包含日期,随后的列是独立的时间序列,每个都有一个名称。列标题是变量名称。

代码语言:javascript
复制
## I have a data frame like this
t <- seq(as.Date('2009-01-01'),by='days',length=10)
X <- rnorm(10,0,1)
Y <- rnorm(10,0,2)
Z <- rnorm(10,0,4)

dat <- data.frame(t,X,Y,Z)

## which appears as
           t          X          Y         Z
1 2009-01-01 -1.8763317 -0.1885183 -6.655663
2 2009-01-02 -1.3566227 -2.1851226 -3.863576
3 2009-01-03 -1.3447188  2.4180249 -1.543931

我想将每个时间序列作为一条线绘制在一个单独的图上,格子中,每个图由变量名标记。

要用表格来绘制这些数据,数据必须采用高格式,例如:

代码语言:javascript
复制
           t symbol       price
1 2009-01-01      X -1.8763317
2 2009-01-02      Y -0.1885183
2 2009-01-02      Z -6.655663

什么是一个好的函数调用来做到这一点?

相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档