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 |
观察次数。如果是 |
mean |
手段的向量。 |
sd |
标准差向量。 |
log , log.p |
逻辑性;如果为 TRUE,则概率 p 以 log(p) 形式给出。 |
lower.tail |
逻辑性;如果为 TRUE(默认),则概率为 ,否则为 。 |
细节
如果未指定 mean
或 sd
,则它们分别采用默认值 0
和 1
。
正态分布有密度
其中 是分布平均值, 是标准差。
值
dnorm
给出密度,pnorm
给出分布函数,qnorm
给出分位数函数,rnorm
生成随机偏差。
结果的长度由 rnorm
的 n
确定,并且是其他函数的数值参数长度的最大值。
除 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 NLSstClosestX 逆插值
- R NLSstAsymptotic 拟合渐近回归模型
- R NegBinomial 负二项分布
- R NLSstRtAsymptote 右侧水平渐近线
- R NLSstLfAsymptote 左侧水平渐近线
- R stlmethods STL 对象的方法
- R medpolish 矩阵的中值波兰(稳健双向分解)
- R naprint 调整缺失值
- R summary.nls 总结非线性最小二乘模型拟合
- R summary.manova 多元方差分析的汇总方法
- R formula 模型公式
- R nls.control 控制 nls 中的迭代
- R aggregate 计算数据子集的汇总统计
- R deriv 简单表达式的符号和算法导数
- R kruskal.test Kruskal-Wallis 秩和检验
- R quade.test 四方测试
- R decompose 移动平均线的经典季节性分解
- R plot.stepfun 绘制阶跃函数
- R alias 查找模型中的别名(依赖项)
- R qqnorm 分位数-分位数图
- R eff.aovlist 多层方差分析的计算效率
- R pairwise.t.test 成对 t 检验
- R loglin 拟合对数线性模型
- R predict.smooth.spline 通过平滑样条拟合进行预测
- R bartlett.test 方差齐性的 Bartlett 检验
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 The Normal Distribution。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。