R で時系列を重ね合わせてプロットするにはどうすればいいですか? 質問する

R で時系列を重ね合わせてプロットするにはどうすればいいですか? 質問する

2 つの異なる変数の値を時間的に比較したいと思います。

たとえば、次の 2 つのデータセットがあるとします。

データセット1(日付、値) とデータセット2(日付、値)

最初にプロットするには、以下を実行します。

x.Date <- as.Date(dataset1$Date)
    x <- zoo(dataset1$Value, x.Date)
    plot(x)

同じウィンドウに (dataset2$value、dataset2$Date) を追加し、偶然に異なる色を設定したいと思います。

値 dataset1$Date と dataset2$Date は必ずしも同じではありません (一部の日付は重複し、一部は重複しない場合があります)。たとえば、dataset1$Date には (dec01、dec02、dec03、dec05) が含まれ、dataset2$Date には (dec02、dec03、dec06) が含まれる場合があります。

同じウィンドウに 2 つ (または複数) の時間プロットをプロットする方法を知っている人はいますか?

ベストアンサー1

オプションはいくつかあります。ここでは、zooオブジェクトを操作する 3 つのオプションを示します。

set.seed(1)
xz = zoo(ts(rnorm(20), frequency = 4, start = c(1959, 2)))
yz = zoo(ts(rnorm(20), frequency = 4, start = c(1959, 2)))
# Basic approach
plot(xz)
lines(yz, col = "red")
# Panels
plot.zoo(cbind(xz, yz))
# Overplotted
plot.zoo(cbind(xz, yz), 
         plot.type = "single", 
         col = c("red", "blue"))

通常のオブジェクトをプロットする場合はts、以下も調べることができますts.plot

set.seed(1)
x = ts(rnorm(20), frequency = 4, start = c(1959, 2))
y = ts(rnorm(20), frequency = 4, start = c(1959, 2))
ts.plot(x, y, gpars = list(col = c("black", "red")))

おすすめ記事