[(株)数理システム]

(S-PLUS) S-PLUS mini course 第16回


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 で使うことができる引数について、ご説明しましょう。 お楽しみに!

----------------------------------------------------------------

? お問い合わせ/資料請求はお気軽に。
(株)数理システム《S-PLUS》グループ <splus-info@ml.msi.co.jp>