R 正态分布

R 正态分布 首页 / R入门教程 / R 正态分布

在从独立来源随机收集数据时,通常可以看到数据分布是正常的。这意味着,如果我们在水平轴上绘制变量值的图表并在垂直轴上计数值,那么我们会得到一个钟形曲线。曲线中心代表数据集的平均值。在图中,百分之五十的值位于平均值的左侧。其余50%位于图表的右侧。这称为正态分布。

R允许我们通过提供以下函数来生成正态分布:

R Normal Distribution

dnorm() 密度

R的dnorm()函数针对给定的均值和标准差计算每个点处概率分布的高度。正态分布的概率密度为:

R Normal Distribution

示例

# 在-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()  

输出:

R Normal Distribution

pnorm() 直接查找

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()  

输出:

R Normal Distribution

qnorm() 反向查找

qnorm()函数将概率值作为输入,并计算其累积值与概率值匹配的数字。累积分布函数和逆累积分布函数之间的关系如下

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()  

输出:

R Normal Distribution

rnorm() 随机变量

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()

输出:

R Normal Distribution

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

左耳听风 -〔陈皓〕

如何做好一场技术演讲 -〔极客时间〕

Java性能调优实战 -〔刘超〕

分布式技术原理与算法解析 -〔聂鹏程〕

Java业务开发常见错误100例 -〔朱晔〕

手机摄影 -〔@随你们去〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

深入浅出可观测性 -〔翁一磊〕

超级访谈:对话玉伯 -〔玉伯〕

好记忆不如烂笔头。留下您的足迹吧 :)