當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


R Normal 正態分布


R語言 Normal 位於 stats 包(package)。

說明

平均值等於 mean 且標準差等於 sd 的正態分布的密度、分布函數、分位數函數和隨機生成。

用法

dnorm(x, mean = 0, sd = 1, log = FALSE)
pnorm(q, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
qnorm(p, mean = 0, sd = 1, lower.tail = TRUE, log.p = FALSE)
rnorm(n, mean = 0, sd = 1)

參數

x , q

分位數向量。

p

概率向量。

n

觀察次數。如果是 length(n) > 1 ,則長度被視為所需的數量。

mean

手段的向量。

sd

標準差向量。

log , log.p

邏輯性;如果為 TRUE,則概率 p 以 log(p) 形式給出。

lower.tail

邏輯性;如果為 TRUE(默認),則概率為 ,否則為

細節

如果未指定 meansd ,則它們分別采用默認值 01

正態分布有密度

其中 是分布平均值, 是標準差。

dnorm 給出密度,pnorm 給出分布函數,qnorm 給出分位數函數,rnorm 生成隨機偏差。

結果的長度由 rnormn 確定,並且是其他函數的數值參數長度的最大值。

n 之外的數字參數將被回收到結果的長度。僅使用邏輯參數的第一個元素。

對於 sd = 0,當 sd 減小到 0(mu 處的點質量)時,給出了限製。 sd < 0 是一個錯誤並返回 NaN

例子

require(graphics)

dnorm(0) == 1/sqrt(2*pi)
dnorm(1) == exp(-1/2)/sqrt(2*pi)
dnorm(1) == 1/sqrt(2*pi*exp(1))

## Using "log = TRUE" for an extended range :
par(mfrow = c(2,1))
plot(function(x) dnorm(x, log = TRUE), -60, 50,
     main = "log { Normal density }")
curve(log(dnorm(x)), add = TRUE, col = "red", lwd = 2)
mtext("dnorm(x, log=TRUE)", adj = 0)
mtext("log(dnorm(x))", col = "red", adj = 1)

plot(function(x) pnorm(x, log.p = TRUE), -50, 10,
     main = "log { Normal Cumulative }")
curve(log(pnorm(x)), add = TRUE, col = "red", lwd = 2)
mtext("pnorm(x, log=TRUE)", adj = 0)
mtext("log(pnorm(x))", col = "red", adj = 1)

## if you want the so-called 'error function'
erf <- function(x) 2 * pnorm(x * sqrt(2)) - 1
## (see Abramowitz and Stegun 29.2.29)
## and the so-called 'complementary error function'
erfc <- function(x) 2 * pnorm(x * sqrt(2), lower = FALSE)
## and the inverses
erfinv <- function (x) qnorm((1 + x)/2)/sqrt(2)
erfcinv <- function (x) qnorm(x/2, lower = FALSE)/sqrt(2)

來源

對於 pnorm ,基於

Cody, W. D. (1993) 算法 715:SPECFUN - 特殊函數例程和測試驅動程序的便攜式 FORTRAN 包。 ACM 數學軟件匯刊 19、22-32。

對於 qnorm ,代碼基於 C 翻譯

Wichura, M. J. (1988) 算法 AS 241:正態分布的百分點。應用統計學,37, 477-484; doi:10.2307/2347330

它提供高達約 16 位數字的精確結果log.p=FALSE。對於極端尾部的對數尺度概率,因為R版本 4.1.0,自 4.3.0 起廣泛使用漸近展開式,這些展開式已在

Maechler, M. (2022) 高斯分位數的漸近尾部公式; DPQ 小插圖https://CRAN.R-project.org/package=DPQ/vignettes/qnorm-asymp.pdf

對於 rnorm ,請參閱RNG 了解如何選擇算法以及對所提供方法的引用。

參考

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

Johnson, N. L., Kotz, S. and Balakrishnan, N. (1995) Continuous Univariate Distributions, volume 1, chapter 13. Wiley, New York.

也可以看看

Distributions 適用於其他標準分布,包括 dlnorm 適用於對數正態分布。

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 The Normal Distribution。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。