R の正規分布

Sheeraz Gul 2023年6月21日
R の正規分布

正規分布は、データがどのように分布しているかを示す確率関数です。 正規分布は、実際のシナリオで多くの利点を提供するため、統計で使用される最も重要な確率分布方法の 1つです。

このチュートリアルでは、R で正規分布を実行してプロットする方法を示します。

R の正規分布

正規分布を実行するために使用されるベース R には、4つの組み込み関数があります。

dnorm(x, mean, sd)
pnorm(x, mean, sd)
qnorm(p, mean, sd)
rnorm(n, mean, sd)

どこ:

  1. x = 数値のベクトル
  2. p = 確率のベクトル
  3. n = 観測数
  4. 平均 = サンプルデータの平均値
  5. sd = 標準偏差

mean のデフォルト値は 0、sd のデフォルト値は 1 です。関数を 1つずつ定義して解決しましょう。

Rの dnorm(x, mean, sd)

dnorm() は、指定された標準偏差と平均で各ポイントの確率分布の高さを取得するために使用されます。 R での例を試してみましょう。

# a sequence of numbers between -8 and 8 incrementing by 0.1.
# it will passed to dnorm as x
x <- seq(-8, 8, by = .1)

# we chose mean as 2 and standard deviation as 0.4.
y <- dnorm(x, mean = 2, sd = 0.4)

plot(x,y)

上記のコードは、指定されたシーケンスに対して mean 2 および sd 0.4 で dnorm を使用して正規分布をプロットします。 出力プロットを参照してください:

DNORM

R の pnorm(x, mean, sd)

pnorm() は、与えられた数よりも小さい正規分布の数の確率を取得するために使用されます。 この関数は累積分布関数とも呼ばれます。

例を試してみましょう。

# a sequence of numbers between -8 and 8 incrementing by 0.1.
# it will passed to pnorm as x
x <- seq(-8, 8, by = .1)

# we chose mean as 2 and standard deviation as 0.4.
y <- pnorm(x, mean = 2, sd = 0.4)

plot(x,y)

上記のコードは、指定されたシーケンスに対して mean 2 および sd 0.4 で pnorm を使用して正規分布をプロットします。 出力プロットを参照してください:

PNORM

R の qnorm(p, mean, sd)

qnorm は確率値を取り、指定された確率値に類似した累積値を持つ数値を返します。 例を参照してください:

# sequence of probability values incrementing by 0.01.
# it will be passed to pnorm as x
p <- seq(0, 1, by = 0.02)

# we chose mean as 2 and standard deviation as 1.
y <- pnorm(p, mean = 2, sd = 1)

plot(p,y)

上記のコードは、与えられた確率シーケンスに対して mean 2 と sd 2 で qnorm を使用して正規分布をプロットします。 出力プロットを参照してください:

QNORM

R の rnorm(n, mean, sd)

rnorm は、正規分布の乱数を作成するために使用されます。 入力として数値を取り、それに等しい乱数を生成します。 例を試してみましょう。

# vector of 8000 random numbers with mean 70 and standard deviation 4

x <- rnorm(8000, mean=70, sd=4)

# histogram with 40 bars
hist(x, breaks=40)

上記のコードは、平均 が 70 で sd が 4 の 8000 個の乱数を使用して、rnorm 確率分布のヒストグラムを表示します。出力を参照してください。

RNORM

著者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

関連記事 - R Distribution