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

问题描述 投票:0回答:2

如标题所示,我正在尝试使用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)
r plot distribution normal-distribution
2个回答
0
投票
您可以使用ggplot2包来做(我对正态分布感到惊讶,但是用geom_point替换了geom_line,使我确信这种形式(方差太大吗?):]]

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) z <- dnorm(x = qnorm(p = seq(0,1, length.out = length(x)), mean = mu, sd = sigma), mean = mu, sd = sigma) library(magrittr) library(ggplot2) data.frame(x, y, z) %>% ggplot(aes(x = x)) + geom_col(aes(y = y)) + geom_line(aes(x = x, y = z, colour = "red"), show.legend = FALSE)

“”

0
投票
您可以使用ggplot2软件包
© www.soinside.com 2019 - 2024. All rights reserved.