【问题标题】:How to draw two time series in one graph using "ts.plot"如何使用“ts.plot”在一张图中绘制两个时间序列
【发布时间】:2016-05-25 13:51:23
【问题描述】:

我是一名 R 初学者,花了将近两天的时间来弄清楚如何使用“ts.plot”在一个图中绘制两个时间序列。这应该是一项非常简单的任务,但由于某种原因,总会出现问题。

我的数据集如下所示:

Data

【问题讨论】:

  • 您在这里回答自己的问题吗?如果是这样,StackOverflow 鼓励这样做,但请将问题作为问题,然后在答案部分回答您自己的问题。欢迎使用 StackOverflow。
  • 感谢您的评论。我听从了你的建议,重新设计了它。现在好点了吗?

标签: r plot time-series


【解决方案1】:

我想通了,有几种方法可以完成任务。

这是最直接的方法:将“variable_1”分配给“x”,将“variable_2”分配给“y”。然后使用“ts.plot”绘制图形:

x <- usa$central_bank_assets_gdp_percent
y <- usa$domestic_credit_private_sector_gdp
ts.plot(ts(x), ts(y), col=1:2)

先定义主数据集的位置,然后在代码中包含真实的变量名:

attach(usa)
ts.plot(ts(central_bank_assets_gdp_percent), ts(domestic_credit_private_sector_gdp), col=1:2)
detach(usa)

使用“$”符号代替指定数据的位置:

ts.plot(ts(usa$central_bank_assets_gdp_percent), ts(usa$domestic_credit_private_sector_gdp), col=1:2) 

使用“data.frame()”可以包含变量:

ts.plot(data.frame(usa$central_bank_assets_gdp_percent, usa$financial_system_deposits_gdp_percent), col=1:2)

这是帮助中指定的方式:使用“ts.plot(..., gpars = list())”。在这种情况下,“...”是变量,所有其他函数都在“gpars=list()”中:

ts.plot(ts(usa$central_bank_assets_gdp_percent), ts(usa$financial_system_deposits_gdp_percent), gpars = list(col=1:2)) 

【讨论】:

  • 我修改了你的代码。 d &lt;- data.frame(country=rep("USA",7), time=1961:1967, bank_deposits_gdp_percent=c(57.39, 58.54, 60.55, 61.37, 61.79, 60.43, 61.35), central_bank_assets_gdp_percent=c(5.11, 5.06, 5.18, 5.27, 5.34, 5.35, 5.55), cpi_2005=c(13.71, 13.87, 14.05, 14.23, 14.46, 14.89, 15.30)) d2 &lt;- ts(start=1961, d[d$country=="USA", 3:4]) ts.plot(d2, col=c(2, 4), lty=c(3, 1), lwd=2)
猜你喜欢
  • 2016-07-22
  • 1970-01-01
  • 2019-02-09
  • 2021-12-17
  • 2012-11-24
  • 1970-01-01
  • 1970-01-01
  • 2011-03-15
  • 2019-12-02
相关资源
最近更新 更多