R语言正态分布怎么用?

文章导读
Previous Quiz Next 在从独立来源收集的随机数据集中,通常观察到数据的分布是正态的。这意味着,当我们以变量值作为水平轴、值计数作为垂直轴绘制图形时,会得到一个钟形曲线。曲线的中心代表数据集的均值。在图形中,50%的值位于均值的左侧,另外50%的值位于右侧。这
📋 目录
  1. dnorm()
  2. pnorm()
  3. qnorm()
  4. rnorm()
A A

R - 正态分布



Previous
Quiz
Next

在从独立来源收集的随机数据集中,通常观察到数据的分布是正态的。这意味着,当我们以变量值作为水平轴、值计数作为垂直轴绘制图形时,会得到一个钟形曲线。曲线的中心代表数据集的均值。在图形中,50%的值位于均值的左侧,另外50%的值位于右侧。这在统计学中被称为正态分布。

R 提供了四个内置函数来生成正态分布。它们描述如下。

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

以下是上述函数中使用的参数描述 −

  • x 是一个数字向量。

  • p 是一个概率向量。

  • n 是观测值数量(样本大小)。

  • mean 是样本数据的均值。其默认值为零。

  • sd 是标准差。其默认值为 1。

dnorm()

此函数给出给定均值和标准差下各点处概率分布的高度。

# 创建一个从 -10 到 10、步长为 0.1 的数字序列。
x <- seq(-10, 10, by = .1)

# 选择均值为 2.5,标准差为 0.5。
y <- dnorm(x, mean = 2.5, sd = 0.5)

# 为图表文件命名。
png(file = "dnorm.png")

plot(x,y)

# 保存文件。
dev.off()

执行上述代码时,会产生以下结果 −

dnorm() graph

pnorm()

此函数给出正态分布随机数小于给定数值值的概率。它也被称为“累积分布函数”。

# 创建一个从 -10 到 10、步长为 0.2 的数字序列。
x <- seq(-10,10,by = .2)
 
# 选择均值为 2.5,标准差为 2。 
y <- pnorm(x, mean = 2.5, sd = 2)

# 为图表文件命名。
png(file = "pnorm.png")

# 绘制图形。
plot(x,y)

# 保存文件。
dev.off()

执行上述代码时,会产生以下结果 −

pnorm() graph

qnorm()

此函数接受概率值,并给出累积值匹配该概率值的数字。

# 创建一个从 0 到 1、步长为 0.02 的概率值序列。
x <- seq(0, 1, by = 0.02)

# 选择均值为 2,标准差为 1。
y <- qnorm(x, mean = 2, sd = 1)

# 为图表文件命名。
png(file = "qnorm.png")

# 绘制图形。
plot(x,y)

# 保存文件。
dev.off()

执行上述代码时,会产生以下结果 −

qnorm() graph

rnorm()

此函数用于生成服从正态分布的随机数。它接受样本大小作为输入,并生成相应数量的随机数。我们绘制直方图来显示生成数字的分布。

# 创建一个服从正态分布的 50 个数字样本。
y <- rnorm(50)

# 为图表文件命名。
png(file = "rnorm.png")

# 为此样本绘制直方图。
hist(y, main = "Normal DIstribution")

# 保存文件。
dev.off()

执行上述代码时,会产生以下结果 −

rnorm() graph