No.00390 リッカートのシグマ法について  【波音】 2006/06/19(Mon) 21:22

http://aoki2.si.gunma-u.ac.jp/R/likert.htmlのプログラムについて分からないことがあるので教えてください。
標準正規分布のパーセント点を求める部分で

> qnorm(cum)
[1] -1.6241311 -0.7374157 0.2197229 1.2571601 8.2095362

とすると累積相対度数が1のときでも8.2095362と値が返されるのに対して,

> qnorm(1.00000000)
[1] Inf

とした場合にはInfとなってしまうのはどうしてなのでしょうか。そもそもqnorm(cum)とした場合であっても,累積相対度数が1のときは4よりも少し手前の3.7くらいの値になるはずだと思うのですが,8.2095362という値は何なのでしょうか。

そ れから,Excelで同じようなプログラム(というかプロシージャ)を作る場合,qnorm()と同じ役割を果たしてくれるNORMSINV()という関 数は引数が1のとき(最終的に累積度数は必ず1になってしまうので,,,)にはエラーが出てしまいます。この場合は0.9999くらい(限りなく1に近い 値)を指定してしまえば良いのでしょうか。

No.00392 Re: リッカートのシグマ法について  【青木繁伸】 06/06/19(Mon) 21:50

>> qnorm(cum)
>[1] -1.6241311 -0.7374157 0.2197229 1.2571601 8.2095362
>とすると累積相対度数が1のときでも8.2095362と値が返されるのに対して,
というのがわかりません。このときの cum はどうなっているのでしょうか?

例題の場合だと以下のようになりますよね
> dat <- c(7, 18, 34, 26, 15)
> n <- length(dat)
> n
[1] 5
> cum <- cumsum(resp <- dat/sum(dat))
> resp
[1] 0.07 0.18 0.34 0.26 0.15
> cum
[1] 0.07 0.25 0.59 0.85 1.00
> qnorm(cum)
[1] -1.4757910 -0.6744898 0.2275450 1.0364334
[5] Inf
> dnorm(qnorm(cum))
[1] 0.1342679 0.3177766 0.3887469 0.2331588 0.0000000
ここが,要です。
> qnorm(1)
[1] Inf
> dnorm(qnorm(1))
[1] 0
> dnorm(Inf)
[1] 0


> この場合は0.9999くらい(限りなく1に近い値)を指定してしまえば良いのでしょうか。

Excel を使うかぎりは,まあ,そうでしょうね。
=NORMSINV(0.99999999999999) くらいが,よいかも(いずれにせよ近似値)

No.00397 Re: リッカートのシグマ法について  【波音】 06/06/19(Mon) 23:05

早速の回答ありがとうございます。

qnorm()だと無限大という値を返すが,これをdnorm()の引数にすれば0になるということになっていたのですか。だからdnorm(Inf)が0にもなるのですね,なるほど,納得です。

>=NORMSINV(0.99999999999999) くらいが,よいかも(いずれにせよ近似値)
なるほど,9の数はこれくらい多くしておいた方がよかったのですね。

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