gpt4 book ai didi

r - 在 ggplot2/R 中添加指数 geom_smooth

转载 作者:行者123 更新时间:2023-12-02 02:19:05 26 4
gpt4 key购买 nike

我正在尝试使用 ggplot2 生成一些示例图形,我选择的示例之一是 birthday problem ,这里使用从革命中“借用”的代码 computing presentation在奥斯康。

birthday<-function(n){
ntests<-1000
pop<-1:365
anydup<-function(i){
any(duplicated(sample(pop,n,replace=TRUE)))
}
sum(sapply(seq(ntests), anydup))/ntests
}

x<-data.frame(x=rep(1:100, each=5))
x<-ddply(x, .(x), function(df) {return(data.frame(x=df$x, prob=birthday(df$x)))})
birthdayplot<-ggplot(x, aes(x, prob))+
geom_point()+geom_smooth()+
theme_bw()+
opts(title = "Probability that at least two people share a birthday in a random group")+
labs(x="Size of Group", y="Probability")

这里我的图表是我所描述的指数图表,但 geom_smooth 不太适合数据。我尝试过黄土方法,但这并没有太大改变。谁能建议如何添加更好的平滑度?

谢谢

保罗。

最佳答案

平滑例程对 x 的低值的突然变化 react 不够快(并且它无法知道 prob 的值仅限于0-1 范围)。由于变异性如此之低,一个快速的解决方案是减少在每个点进行平滑的值的跨度。查看该图中的红线:

birthdayplot + geom_smooth(span=0.1, colour="red")

关于r - 在 ggplot2/R 中添加指数 geom_smooth,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3529996/

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