在从独立来源随机收集数据时,通常可以看到数据分布是正常的。这意味着,如果我们在水平轴上绘制变量值的图表并在垂直轴上计数值,那么我们会得到一个钟形曲线。曲线中心代表数据集的平均值。在图中,百分之五十的值位于平均值的左侧。其余50%位于图表的右侧。这称为正态分布。
R允许我们通过提供以下函数来生成正态分布:
R的dnorm()函数针对给定的均值和标准差计算每个点处概率分布的高度。正态分布的概率密度为:
示例
# 在-1和20之间创建一个数字序列递增0.2。 x <- seq(-1, 20, by = .2) # 选择均值为2.0和标准偏差为0.5。 y <- dnorm(x, mean = 2.0, sd = 0.5) # 向图表文件提供名称。 png(file = "dnorm.png") # 绘图图形 plot(x,y) # 保存文件 dev.off()
输出:
dnorm()函数也称为"累积分布函数"。此函数计算正态分布随机数的概率,该概率小于给定数的值。累积分布如下:
f(x)= P(X≤x)
示例
# 在-1和20之间创建一个数字序列递增0.2。 x <- seq(-1, 20, by = .1) # 选择均值为2.0和标准偏差为0.5。 y <- pnorm(x, mean = 2.0, sd = 0.5) # 向图表文件提供名称。 png(file = "pnorm.png") # 绘图图形 plot(x,y) # 保存文件 dev.off()
输出:
qnorm()函数将概率值作为输入,并计算其累积值与概率值匹配的数字。累积分布函数和逆累积分布函数之间的关系如下
链接:https://www.learnfk.comhttps://www.learnfk.com/R/r-normal-distribution.html
来源:LearnFk无涯教程网
p = f(x)
x = f -1 (p)
示例
# 在-1和20之间创建一个数字序列递增0.2。 x <- seq(0, 1, by = .01) # 选择均值为2.0和标准偏差为0.5。 y <- qnorm(x, mean = 2.0, sd = 0.5) # 向图表文件提供名称。 png(file = "qnorm.png") # 绘图图形 plot(y,x) # 保存文件 dev.off()
输出:
rnorm()函数用于生成正态分布的随机数。该函数通过将样本量作为输入来生成随机数。让我们看一个示例,在其中绘制直方图以显示生成的数字的分布。
示例
# 在-1和20之间创建一个数字序列递增0.2
x <- rnorm(1500, mean=80, sd=15 ) # 向图表文件提供名称 png(file = "rnorm.png") # 创建直方图 hist(x,probability =TRUE,col="red",border="black") # 保存文件 dev.off()
输出:
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)