正規分位点(正規化得点)の算出

SASのJMPには変数の正規分位点(正規化得点)を保存する機能があるって、これがいろいろ重宝します。

コレぐらいのことR言語でもさくっとできるでしょうと思って探してみましたが、すんなりと出てこない。

qqnorm関数の内部で使われているはずなのに、qqnormは関数の中身が見られない。

さらにごにょごにょと探してみるとexactRankTestsパッケージのcscores関数というのがありました。

R: Computation of Scores
強制的に整数で算出したりもできる模様。




exactRankTestsパッケージはもう開発が止まっているらしい。

代わりにcoinパッケージのnormal_trafo関数が使える。
R: Functions for Data Transformation




こんなパッケージを入れなくても、下記でいけることが分かった。元の変数がX。

qnorm(rank(X)/(length(X)+1))

qnorm を qunif にすれば一様分布になる。