gpt4 book ai didi

r - geom_polygon 绘制正态分布和逻辑分布

转载 作者:行者123 更新时间:2023-12-02 07:45:15 25 4
gpt4 key购买 nike

更新:
我已经解决了我的问题。我在找

coord_cartesian(xlim = c(800, 2100), ylim = c(0, 0.0021))

感谢所有试图提供帮助的人!

问题是:
我想很好地描绘出正态分布和逻辑分布之间的区别。我已经达到了这一点:

 x=seq(1000,2000,length=200)  
dat <- data.frame(
norm = dnorm(x,mean=1500,sd=200),
logistic = dlogis(x,location=1500,scale=200), x = x
)
ggplot(data=dat, aes(x=x)) +
geom_polygon(aes(y=norm), fill="red", alpha=0.6) +
geom_polygon(aes(y=logistic), fill="blue", alpha=0.6) +
xlab("") + ylab("") +
opts(title="Logistic and Normal Distributions") +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0))

然而,逻辑部分在底部被“截断”。我认为我应该做的是绘制从 0 到 3000 的分布,但只显示 1000-2000。

任何线索如何做到这一点?

我尝试了 scale_x_continuous(limits = c(1000, 2000)) 但这不起作用

更新:

我已经更新了我的代码,所以我有了图例,现在它看起来像这样:

  x=seq(700,2300,length=200)  
dat2 <- data.frame(x=x)
dat2$value <- dnorm(x,mean=1500,sd=200)
dat2$type <- "Normal"

dat1 <- data.frame(x=x)
dat1$value <- dlogis(x,location=1500,scale=200)
dat1$type <- "Logistic"

dat <- rbind(dat1, dat2)

ggplot(data=dat, aes(x=x, y=value, colour=type, fill=type)) + geom_polygon(alpha=0.6) + scale_y_continuous(expand = c(0, 0))

最佳答案

我会使用 z-scores 从 [-2 ; +2]。这样做的附带好处是您的问题消失了。

x=seq(-2,2,length=200)  
dat <- data.frame(
norm = dnorm(x,mean=0,sd=0.2),
logistic = dlogis(x,location=0,scale=0.2), x = x
)
p <- ggplot(data=dat, aes(x=x)) +
geom_polygon(aes(y=norm), fill="red", alpha=0.6) +
geom_polygon(aes(y=logistic), fill="blue", alpha=0.6) +
xlab("z") + ylab("") +
scale_x_continuous(expand = c(0, 0)) +
scale_y_continuous(expand = c(0, 0)) +
opts(title="Logistic and Normal Distributions")

print(p)

enter image description here

关于r - geom_polygon 绘制正态分布和逻辑分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474106/

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