[(株)数理システム]

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


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

東京はすっかり暖かな陽気となりましたが、花粉症の方は今がつらい時期でしょうね。幸いにも、私は今年も大丈夫なようです。症状があらわれた方はお大事になさってください。

まず、2つほどお知らせです。

*******************************************************
新しいバージョン、S-PLUS 6.1 for Windows がリリースされました!
詳しくは
http://www.msi.co.jp/splus/
をご覧ください。
お問い合わせは splus-info@ml.msi.co.jp まで、お気軽にどうぞ。
*******************************************************
*******************************************************
以下のタイトル、日程で S-PLUS の特別セミナーを開催します。
4月6日(火)7日(水)
タイトル
S-PLUS GUIで始める調査データ処理の基礎
−アンケートデータの集計と検定−
S-PLUS for Windows の GUI を使って、解析をする前に必要不可欠なデータの編集や集計、解析を行います。
詳細は来週、ホームページhttp://www.msi.co.jp/splus/でお知らせします。
*******************************************************

さて、前回は「回帰分析の説明変数に因子データを取り入れるとどうなるか」を取り上げました。因子データが説明変数になると、ダミー化された行列が作られ、「因子水準 - 1」の係数ができました。デフォルトでは、ダミー化に係数の解釈がちょっと面倒な Helmart 対比が用いられることまでをご説明してきました。

では、ダミー化のときに、もう少し単純な、つまり他のソフトや数量化理論などで使われている 1, 0 で構成される行列にするにはどうしたらよいでしょうか?

contrasts という関数があります。
例えば次のコマンドで、example というデータを作ります。

> example <- factor(c("a", "b", "c"))
> example
[1] a b c
# "a", "b", "c" と表示されないことで、これが因子であることが
# わかります
> levels(example)
[1] "a" "b" "c"
# 因子水準

これを使って、ダミー行列がどのように割り付けられるか見てみましょう。

> contrasts(example)
   [,1]  [,2]
a   -1   -1
b     1   -1
c     0     2

これは例の、Helmart 対比ですね。では、次のコマンドを実行します。

old.op <- options(contrasts=c("contr.treatment", "contr.poly"))
# この時点での、options 設定(例えば、表示桁数など)が old.op
# に保存され、contrasts という options が上の値になります

その上で、先ほどのコマンドを再び、実行します。

> contrasts(example)
     b   c
a    0   0
b    1   0
c    0   1


おお、今度はいわゆる、1, 0 の行列ですね。
この状態で回帰を実行してみましょう。

> fit3 <- lm(Fuel ~ Weight + Type, data=fuel.frame)
> fit3
Call:
lm(formula = Fuel ~ Weight + Type, data = fuel.frame)

Coefficients:
(Intercept)          Weight  TypeLarge TypeMedium  TypeSmall 
   1.672084 0.0008846407 0.04318105    0.1022217 -0.3959501 

TypeSporty  TypeVan
 -0.1904892 0.5297916

Degrees of freedom: 60 total; 53 residual
Residual standard error: 0.3634024


今度は Small 以外の係数が求まっています。Weight の係数や、残差などに関する情報は contrasts を変える前と後で同じことに注意してください(回帰の結果としては同じものです)。

続きはまた次回。
お楽しみに。

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

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