S-PLUS mini course の16回目をお届けします。
まず最初に以前にも弊社からお知らせをしています通り、S-PLUS ユーザーカンファレンスが開催されます。
**************************************************
日時:11/28 10:00-17:00
場所:虎ノ門パストラル
詳細は
http://www.msi.co.jp/splus/events/2003/uconf03.html
をご覧ください。
**************************************************
参加費無料(懇親会ともども)ですので、ぜひぜひいらしてください。近日中にプログラムも発表する予定をしております。
さて、前回は Trellis グラフ関数のいろいろについてご紹介してきましたが今回は、不思議な引数 panel についてご説明します。
xyplot(Mileage ~ Weight | Type, data=fuel.frame,
panel=function(x,y){
panel.xyplot(x,y)
panel.abline(lsfit(x,y))
}
)
で、グラフに回帰線を引くことができるのですが、元々、xyplot はそのままだと、散布図のみを作図する関数です。上のように、panel という引数を指定することによって、追加の作図をすることができます。
panel の引数は関数の名前、あるいは関数定義そのものになります。上の例では、関数定義そのものを指定しています。ここで指定される関数は(名前で指定する場合でも、定義で指定する場合でも)必ず、x,y という引数をこの順番で持ちます。この x,y がそれぞれ、作図したいXデータとYデータになります。
上の例で用いている panel.xyplot と panel.abline はいずれも既存の S-PLUS 関数です。このように、panel.なんとか という名前のついた関数がたくさん存在して、Trellis グラフの中でいろいろな作図をするのに役立っています。ちなみに前回のメールを出してから、S-news で panel.lmline という関数の存在に気がつきました、がっかり。
この panel.lmline を使えば、上の関数は
xyplot(Mileage ~ Weight | Type, data=fuel.frame,
panel=function(x,y){
panel.xyplot(x,y)
panel.lmline(x,y)
}
)
とさらにぐっとシンプルになります。この panel.lmline に代えて、 panel.loess を用いれば、局所回帰の線を引くことも可能です。
次回は Trellis で使うことができる引数について、ご説明しましょう。 お楽しみに!