これは私の問題を進めるためのサンプルデータです(実際には変数の数は多いです)
date<-seq(as.Date("2000/1/1"), by = "month", length.out = 12)
v1<-seq(2,32, length.out=12)
v2<-c(11,NA,30,NA,NA,35,NA,40,48,NA,55,64)
v3<-c(5,NA,NA,NA,22,25,NA,30,NA,NA,45,NA)
as.POSIXlt(date, format="%Y/%m/%d")
df<-data.frame(date, v1, v2, v3)
すべての変数を一度にプロットするには、次を使用しています。
matplot(df[,1], df[2:ncol(df)], type='p', pch=2:4, col=2:4)
すべてのポイントを線で結びたいのですが、「matlines」は欠損値が発生する場所を補間できません。type='b' を 'matplot' で使用しませんでした。これは、v1 (つまり、連続データ) に対してのみ連続線をプロットするためです。
ただし、補間する 1 つの方法は、'approx' 関数を使用することです。だから私は試しました
matplot(approx(df[,1], df[2:ncol(df)], n= length(df[[1]])), type='p', pch=2:4, col=2:4)
しかし、R はエラーをスローします: " Error in xy.coords(x, y) : 'x' and 'y' lengths differ
"
最後の手段として、「lapply」を使用してシンボルに線を重ねてみましたが、この場合、異なる変数に対して異なる色が表示されません!!
lapply(2:4, function(i) lines(
approx(df[,1],
df[[i]], n= length(df[[1]])),
lty=2, col=2:4))
単一の図に異なる色の線 + 記号として変数をプロットする他の方法はありますか?