データは文字行列であることに注意してください。Final
オブジェクトが次の方法で作成されている場合に適しています。
Final <- data.frame(Loc = Locations,
Doy = as.numeric(format(Date,format = "%j")),
Temp = RandData)
これにより、以下のコードは 1 つのウィンドウに 2 つのプロットを並べて描画します。関数のように機能する引数plot()
を利用するために、数式インターフェイスを使用します。subset
subset()
ylab <- "Temperature"
xlab <- "Day of year"
layout(matrix(1:2, ncol = 2))
plot(Temp ~ Doy, data = Final, subset = Loc == "England", main = "England",
ylab = ylab, xlab = xlab)
plot(Temp ~ Doy, data = Final, subset = Loc == "Wales", main = "Wales",
ylab = ylab, xlab = xlab)
layout(1)
このプロットを生成するもの:
両方を同じスケールにしたい場合は、少し変更します。
ylab <- "Temperature"
xlab <- "Day of year"
xlim <- with(Final, range(Doy))
ylim <- with(Final, range(Temp))
layout(matrix(1:2, ncol = 2))
plot(Temp ~ Doy, data = Final, subset = Loc == "England", main = "England",
ylab = ylab, xlab = xlab, xlim = xlim, ylim = ylim)
plot(Temp ~ Doy, data = Final, subset = Loc == "Wales", main = "Wales",
ylab = ylab, xlab = xlab, xlim = xlim, ylim = ylim)
layout(1)
このバージョンのプロットを生成する
折れ線グラフの場合、データを順番に取得してから呼び出しDoy
に追加する必要があります。type = "l"
plot()
完全を期すために、@Justin は、高レベルのプロット パッケージの 1 つを使用して同様のことを達成する方法を示しましたが、 ggplot2 を介してユーザーの労力を減らします。格子パッケージは、R のもう 1 つの主要なハイレベル プロット パッケージです。次の方法で格子を使用して同じプロットを実現できます。
require(lattice)
xyplot(Temp ~ Doy | Loc, data = Final, type = c("l","p")
後者は
type = "p"
点のみと線のみに使用しtype = "l"
ます。ご覧のとおり、上位レベルのパッケージを使用すると、これらのプロットをベース グラフィック パッケージよりも少し簡単に作成できます。