r - 如何在r中绘制具有相同均值但方差不同的正态分布
问题描述
我尝试绘制 6 个正态分布图来显示均值和方差对此类图的影响,我的代码如下:
par(mfrow=c(3,2),bty = "n") # 3 rows by 2 columns, turn off border
mu <- c(6, 8, 6, 8, 6, 8) #designate the 6 mean values
sigma <- c(3, 3, 2, 2, 1, 1) #designate the 6 sd values
label <- c("(a)","(b)","(c)","(d)","(e)","(f)") #designate the 6 labels of the 6 figures
for(i in 1:length(mu))
{
mu.r <- mu[i]
sigma.r <- sigma[i]
lab.r <- label[i]
x <- seq((mu.r - 4*sigma.r), (mu.r + 4*sigma.r), len = 200)
#designate the starting and ending value of mean
plot(x, dnorm(x, mean = mu.r, sd = sigma.r),axes = F,
type="l",lwd = 2, xlab = lab.r, ylab = "",
main=paste0('mu=',mu.r,', sigma=',sigma.r),
)
axis(1, at = (mu.r - 4*sigma.r) : (mu.r + 4*sigma.r))
abline(v = mu.r, col = "red", lwd = 2.5, lty = "longdash")
}
the figures generated is as follow:
[enter image description here][1]
[1]: https://i.stack.imgur.com/Z4czh.png
解决方案
你没有说到底是什么问题。我假设你所有的图表看起来都一样。发生这种情况是因为您根据方差设置 x 轴,您需要将所有图表保持在相同的比例上以便比较它们。我只是在平均值附近设置了一个 7 的任意间隔:
for(i in 1:length(mu))
{
mu.r <- mu[i]
sigma.r <- sigma[i]
lab.r <- label[i]
x <- (mu.r - 7):(mu.r + 7)
#designate the starting and ending value of mean
plot(x, dnorm(x, mean = mu.r, sd = sigma.r),axes = F,
type="l",lwd = 2, xlab = lab.r, ylab = "",
main=paste0('mu=',mu.r,', sigma=',sigma.r),
)
axis(1, at = x)
abline(v = mu.r, col = "red", lwd = 2.5, lty = "longdash")
}
输出:
推荐阅读
- selenium - 如何根据测试用例通过百分比设置 Jenkins 作业状态
- blockchain - 为什么 Bitcoin-Qt 和区块链 API 之间的区块链费用存在差异?
- python - 将内容添加到列表
- next.js - 错误“getStaticPaths 只能用于动态页面,不能用于 Next JS”
- producer-consumer - 在生产者/消费者问题的关键部分内循环
- python - 将数据集分布与另一个匹配
- regex - 正则表达式 - 最后一次出现后的所有内容
- javascript - 本机模块的单元测试 - 反应本机应用程序
- php - 有没有办法通过作曲家更新扩展并绕过 Magento2 上的内存限制错误
- flutter - 如何检查小部件是否被删除?