gpt4 book ai didi

r - 在同一图中绘制正态分布和二项分布

转载 作者:行者123 更新时间:2023-12-02 00:06:07 27 4
gpt4 key购买 nike

正如标题所示,我正在尝试使用 R 在同一个图中绘制正态分布和二项分布。我的尝试可以在下面看到,是否有任何原因导致我的正态分布看起来如此偏离?我仔细检查了平均值和标准偏差,一切看起来都很好。

enter image description here

n <- 151
p <- 0.2409

dev <- 4
mu <- n*p
sigma <- sqrt(n*p*(1 - p))

xmin <- round(max(mu - dev*sigma,0));
xmax <- round(min(mu + dev*sigma,n))
x <- seq(xmin, xmax)
y <- dbinom(x,n,p)

barplot(y,
col = 'lightblue',
names.arg = x,
main = 'Binomial distribution, n=151, p=.803')

range <- seq(mu - dev*sigma, mu + dev*sigma, 0.01)
height <- dnorm(range, mean = mu, sd = sigma)
lines(range, height, col = 'red', lwd = 3)

最佳答案

barplot 只是您的案例的错误功能。或者,如果您真的想使用它,则必须重新调整 barplotlines

之间的 x 轴

barplot 的默认设置是将每个 height 值放在

head(c(barplot(y, plot = FALSE)))
# [1] 0.7 1.9 3.1 4.3 5.5 6.7

这可以通过您选择 spacewidth 或两者的组合来改变

head(c(barplot(y, plot = FALSE, space = 0)))
# [1] 0.5 1.5 2.5 3.5 4.5 5.5

head(c(barplot(y, plot = FALSE, space = 0, width = 3)))
# [1] 1.5 4.5 7.5 10.5 13.5 16.5

你可以只使用plot来避免处理这些事情

n <- 151
p <- 0.2409

dev <- 4
mu <- n*p
sigma <- sqrt(n*p*(1 - p))

xmin <- round(max(mu - dev*sigma,0));
xmax <- round(min(mu + dev*sigma,n))
x <- seq(xmin, xmax)
y <- dbinom(x,n,p)

plot(x, y, type = 'h', lwd = 10, lend = 3, col = 'lightblue',
ann = FALSE, las = 1, bty = 'l', yaxs = 'i', ylim = c(0, 0.08))
title(main = sprintf('Binomial distribution, n=%s, p=%.3f', n, p))
lines(x, dnorm(x, mean = mu, sd = sigma), col = 'red', lwd = 7)

xx <- seq(min(x), max(x), length.out = 1000)
lines(xx, dnorm(xx, mean = mu, sd = sigma), col = 'white')

enter image description here

图中的“条形”取决于您选择的 lwd 和您的设备尺寸,但如果您需要更好地控制它,您可以使用 rect多一点工作。

w <- 0.75
plot(x, y, type = 'n', ann = FALSE, las = 1, bty = 'l', yaxs = 'i', ylim = c(0, 0.08))
rect(x - w / 2, 0, x + w / 2, y, col = 'lightblue')
lines(xx, dnorm(xx, mean = mu, sd = sigma), col = 'red', lwd = 3)
title(main = sprintf('Binomial distribution, n=%s, p=%.3f', n, p))

enter image description here

关于r - 在同一图中绘制正态分布和二项分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60546225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com