[(株)数理システム]

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


S-PLUS mini course の20回目をお届けします。

まずはじめに宣伝です。
数理システムより、初めてのS-PLUSメニュー参考書と題しまして「S-PLUS for Windows 入門」を刊行しました。
この mini course は S 言語だけを取り上げて、コマンドを解説していますが、この本は中心がグラフィカル・ユーザー・インタフェースです。
結構、メニューも侮りがたく、便利なものですから、日常のちょっとした作業はこちらから行っていたりします。このちょっとした小技の集大成とも言うべきなのがこの参考書です。
目次、ご購入方法、本のサンプルなどは
http://www.msi.co.jp/splus/tips/books/newbook11.html
をご覧ください。

さて、前回でグラフ編は終わり、これからは統計解析編です。
あまり難しいことをやっていると、私がついていけなくなりますから、徐々にいろいろな関数を取り上げていきたいと思います。
ご専門の先生で「それは違う!」などというご意見がございましたらどうぞご遠慮なく、splus-users@ml.msi.co.jp にご投稿ください。
また、こんなこと言ったら、中園さんがかわいそう、と思ったら
splus-info@ml.msi.co.jp にメールしてください。

まずは、手始めに回帰分析から取り上げたいと思います。
関数は、ごく昔からあるのが、lsfit、クラスを持つので何かと便利なのが、lm です。
同じデータを使って、指定方法の違いを見ます。
サンプルデータセット fuel.frame(車のデータ)の、列 Fuel を目的変数に、列 Weight, Disp. を説明変数とした重回帰分析をします。

まず、lsfit ですが、引数には、説明変数行列あるいはベクトル x
と、目的変数のベクトル(あるいは1列の行列)があると、デフォルトで切片を持つ回帰をします。
例えば、 この例なら

fit1 <- lsfit(x=fuel.frame[,c("Weight", "Disp.")], y=fuel.frame[, "Fuel"])

あるいは

fit1 <- lsfit(x=fuel.frame[,c("Weight", "Disp.")], y=fuel.frame$Fuel)

とします。
さらに、中身を見るため、fit1 エンターとすると、いろいろな値が出てくるけれど、肝心の例えば、R-squared などが表示されません。これは

ls.print(fit1)

としてください。

一方、関数 lm を使いますと、同じ回帰は

fit2 <- lm(Fuel ~ Weight + Disp., data=fuel.frame)

と、かなりシンプルになります。また、R-squared などは

summary(fit2)

とすることで、表示可能です。
指定方法がかなり違う以外に、この2つの結果、fit1 と fit2 には
どのような違いがあるでしょうか?
次回をお楽しみに(年末最後に1回、発行する予定でいます)!

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

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