as.data.frame(x[which(x[,4]>=cut[3]),c(1:3)])#以下でなぜか重ね描きできないplot(xxx,col=col[1])par(new=T)plot(yyy,col=col[2])par(new=T)plot(zzz,col=col[3])par(new=T)plot(www,col=col[4])##########################場合分けはうまくいっていると思うのですが、par(new=T)でdata.frameがずれてしまいます。各々グラフ描出はできているのですが...ここが越えられればプログラムを走らせることができるんですが...むむむ。起きている現象は何かというと。掲載図にあるように、はじめのプロット(plot(xxx,...))では3x3プロットであるのに対して、par(new=T)後のプロット(plot(yyy,...))では3x3のうち、8画分のみが描かれていること。欠損しているのは、3x3で描かれるはずの最初のものであること。この重ね描きを行っていると、確かに、最初の画分が前の絵の(3,3)の位置に重ね描きされた後に、プロットデバイスが更新されて、まっさらなデバイス上に残りの8画分が描かれる様子も垣間見ることができます。「重ね描き」は、3x3のうちの1つについてのみ実施されていることがわかります。これを確かめるためにdata.frameをplotする、というのはどういう手続なのかを確かめることとします。matrix).(ヘルプ記事引用)data.frameのカラムのペアをpairs()関数を用いて作成した上で、それをNxNの枠に収めるという処理をしているようですこのNxNの枠に収めるときには、「重ね描き」をしていません。重ね描きをしないで分割プロットをした後に、「重ね描き」命令をして、また、重ね描きをしない分割プロットの命令を出していることになるようです。発生している現象は、このdata.frameのplot()処理から納得の行くものです起きていることとその原因はわかったので、今度は対策です。data.frameのplot()は「重ね描き」をせずに、NxN個のプロットを分割領域に行う処理ですので、これに部分的に重ね描き命令をしてもだめです重ねたい絵を1つずつ描き、それを重ねつつ、次に行くしかなさそうです。(1)はてなブログをはじめよう!ryamadaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。