★ wilks ★

464. wilks 直樹 2003/08/08 (金) 14:18
└465. Re: wilks 青木繁伸 2003/08/08 (金) 14:47
 └483. Re^2: wilks 直樹 2003/08/11 (月) 10:32
  ├485. Re^3: wilks 直樹 2003/08/11 (月) 11:13
  │└488. Re^4: wilks 青木繁伸 2003/08/11 (月) 17:52
  └484. Re^3: wilks 青木繁伸 2003/08/11 (月) 10:56


464. wilks 直樹  2003/08/08 (金) 14:18
wilksの統計量を手計算で,行おうと思っているのですが公式をみても,よく理解できません。
誰か教えてください。

なにか他に良い方法があれば教えてください。

     [このページのトップへ]


465. Re: wilks 青木繁伸  2003/08/08 (金) 14:47
多変量に拡張した平均値の差の検定ですか?

http://aoki2.si.gunma-u.ac.jp/lecture/Wilks/wilks2.html
に,例題も示しましたが,手計算はかなりきついかもしれませんね。

せめて Excel を使うのがいいと思います。

示したページの下の方に,R によるプログラムへのリンクがあります。

     [このページのトップへ]


483. Re^2: wilks 直樹  2003/08/11 (月) 10:32
青木先生.
返信ありがとうございました.
手計算はあきらめ,早速R によるプログラムを行おうと思い,インストールしてみましたが,膨大な量のデータをどのようにしてwilks(dat, g)にあてはめればよいのでしょうか?

     [このページのトップへ]


485. Re^3: wilks 直樹  2003/08/11 (月) 11:13
> 青木先生.
> またまた丁寧な返信ありがとうございました.
 データの入力の方法はわかりました.
 が...( byrow=TRUE, ncol=4)と
http://aoki2.si.gunma-u.ac.jp/R/wilks.html

 に使用例としてのっていますが( byrow=TRUE, ncol=4)はなにを意味するのでしょうか,素人にも分かりやすく教えて下さい.

     [このページのトップへ]


488. Re^4: wilks 青木繁伸  2003/08/11 (月) 17:52

>  に使用例としてのっていますが( byrow=TRUE, ncol=4)はなにを意味するのでしょうか,

これは,
dat <- matrix(c(
から始まる部分の最後です。
ここでは何をやっているかというと,matrix( ) で定義した行列を dat という名前に割り当てている(付値という)のです。
matrix() という関数も help("matrix") とすれば説明は出てきますが,簡単に言えば,
matrix(c(1,2,3,4,5,6), byrow=TRUE, ncol=3)
というのは,実際には
1 2 3
4 5 6
という2×3の行列を定義しているのです。
c( ) という関数は,いってみればベクトルで,
c(1,2,3,4,5,6)
は,6つの要素 1,2,3,4,5,6 をもつ,ベクトルです。これを行列に変換するのですが,byrow = TRUE というのは,行方向優先で定義する,ncol = 3 というのは,列の数が3ということを意味しています。

先の質問のように,データはすでにファイルで用意しているとすると,実際の計算処理は以下のようになるでしょう。

ファイルには,件のページに示しているデータ
1 2.9 161.7 120.8
1 2.3 114.8 85.2
1 2 128.4 92
1 3.2 149.2 97.3
1 2.7 126 81.1
1 4.4 133.8 107.6
1 4.1 161.3 114
1 2.1 111.5 77.3
2 4.8 198.7 172.9
2 3.6 199.3 157.9
2 2 188.4 152.7
2 4.9 183.6 164.2
2 3.9 173.5 172.2
2 4.4 184.9 163.2
があるとします。このファイルの名前を test.data としましょうか。

R を起動して,wilks 関数を定義して,データディレクトリをセットした後,

dat <- matrix(scan("test.data"), byrow=TRUE,ncol=4)
wilks(dat,1)

の2行を入力すると以下のような結果が表示されます。
2行の意味は,
1行目:ファイルのデータを行列として dat に読み込む
2行目:wilks 関数を適用


> dat <- matrix(scan("test.data"), byrow=TRUE,ncol=4)
> wilks(dat,1)
$F
[1] 33.805

$df1
[1] 3

$df2
[1] 10

$p
[1] 1.516645e-05

     [このページのトップへ]


484. Re^3: wilks 青木繁伸  2003/08/11 (月) 10:56
> 膨大な量のデータをどのようにして
> wilks(dat, g)にあてはめればよいのでしょうか?

データファイルから読み込む方法は,
http://datamining.tama.ac.jp/~yama/R/Rintro.html
の中に説明がありますのでそれをみてください。
説明中に「R のデータディレクトリ」というのが出てきますが,これはデフォールトのディレクトリでもいいし,ユーザが指定する任意のディレクトリでもいいです。任意のディレクトリを指定したときにはそのディレクトリを設定しないといけません。Windows や Macintosh を使っているときにはメニューから選ぶのがもっとも簡単ですが,setwd という関数でセットすることもできます。

任意の関数のオンラインヘルプは,
help("関数名") で得られます。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 025 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る