対数正規確率紙     Last modified: Apr 13, 2004

目的

対数正規確率紙に累積相対度数をプロットする。

使用法

lnpp(x)              累積相対度数をプロットする

引数

x    データベクトル

ソース

インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/lnpp.R", encoding="euc-jp")

# 対数正規確率紙に累積相対度数をプロットする
lnpp <- function(x)                                  # データベクトル
{
        log.axis <- function(z)                              # 対数目盛りの軸を描く
        {
                z <- floor(log10(z))                 # 対数にしたときの整数部
                log.min <- min(z)                    # 最小値
                z2 <- 1:10*10^log.min                        # 一番左側に描かれる目盛り数値のセット
                n <- max(z)-log.min                  # 10 倍しながら順次,右の位置に目盛りを描く
                z2 <- rep(z2, n+1)*10^rep(0:n, each=10)      # 対数目盛り位置の数値
                log.z2 <- log10(z2)                  # 目盛りを描く位置
                axis(1, at=log.z2, labels=z2)           # log.z2 の位置に,z2 という数値を描く
                abline(v=log.z2, col="gray")            # 垂直格子線を入れる
        }
        n <- length(x)                                       # データの個数
        log.x <- log10(sort(x))                              # データをプロットするときの横座標
        y <- 1:n/n                                   # 累積確率
        probs <- c(0.01, 0.1, 1, 5, 10, 20, 30, 40, 50,      # 縦軸の目盛り
                   60, 70, 80, 90, 95, 99, 99.9, 99.99)/100
        plot(log.x[c(1,n)], qnorm(probs[c(1,17)]),      # 枠組み
                type="n", xaxt="n", yaxt="n",
                xlab="Observed Value", ylab="Cumulative Percent",
                main="Log Normal Probability Paper")
        log.axis(x)                                     # 横軸(対数目盛)を描く
        axis(2, qnorm(probs), probs*100)                # 縦軸(正規確立目盛)を描く
        abline(h=qnorm(probs), col="grey")              # 水平格子線を描く
        points(log.x, qnorm(y))                         # データ点を描く
}


使用例

> x <- rlnorm(50)*10
> lnpp(x)	# 50 個の対数正規乱数をプロットする
> npp2(log(x))	# 正規確率紙のプログラムを使ってもよい(横軸の描き方が異なる)

出力結果例

graph  

lnpp(x) による
graph

npp(log(x)) による
・ 解説ページ


・ 直前のページへ戻る  ・ E-mail to Shigenobu AOKI

Made with Macintosh