問題は多くの統計ソフトウェア環境に共通しているため、R固有のフォーラム(StackOverflowなど)に移行するのではなく、ここで相互検証で議論しましょう。
本当の問題は、それがあるDate
として扱われる因子離散変数-A- -及び線が正しく接続されていないので。 (または、水平方向に完全に正確にプロットされている点ではありません。)
右側のプロットを作成するために、Date
フィールドは因子から実際の日付に変換され、各週は単純な計算で識別され(土曜日と日曜日の間の週を分割)、週末は週をループすることによって線が中断されました。
oracle$date <- as.Date(oracle$Date)
oracle$week.num <- (as.integer(oracle$date) + 3) %/% 7
oracle$week <- as.Date(oracle$week.num * 7 - 3, as.Date("1970-01-01", "%Y-%m-%d"))
par(mfrow=c(1,2))
plot(as.factor(unclass(oracle$Date[1:120])), oracle$Open[1:120], type="l",
main="Original Plot: Inset", xlab="Factor code")
plot(oracle$date[1:120], oracle$Open[1:120], type="n", ylab="Price",
main="Oracle Opening Prices")
tmp <- by(oracle[1:120,], oracle$week[1:120], function(x) lines(x$date, x$Open, lwd=2))
(oracle
毎週の集計データをプロットするのに役立つため、その週の月曜日を表す、各週に相当する日付もデータフレームに格納されました。)
最後の行をエミュレートしてすべてのデータを表示するだけで、元の意図を達成できます。季節的な行動に関する情報を追加するために、次のプロットは各暦年の週ごとに色を変えています。
par(mfrow=c(1,1))
colors <- terrain.colors(52)
plot(oracle$date, oracle$Open, type="n", main="Oracle Opening Prices")
tmp <- by(oracle, oracle$week,
function(x) lines(x$date, x$Open, col=colors[x$week.num %% 52 + 1]))