R geom_平滑或带有geom_箱线图的stat_函数

R geom_平滑或带有geom_箱线图的stat_函数,r,ggplot2,R,Ggplot2,我无法使ggplot2在箱线图中显示geom_平滑或stat_函数 我最终想要在箱线图的顶部显示一个自定义stat_函数 library(ggplot2) #joke dataset, similar looking ish to my own data data=data.frame(date=as.Date(c("2011-02-01","2011-02-01","2011-02-01","2011- 02-01","2011-02-01",

我无法使ggplot2在箱线图中显示geom_平滑或stat_函数

我最终想要在箱线图的顶部显示一个自定义stat_函数

library(ggplot2)
#joke dataset, similar looking ish to my own data
data=data.frame(date=as.Date(c("2011-02-01","2011-02-01","2011-02-01","2011-    02-01","2011-02-01",
                         "2011-02-10","2011-02-10","2011-02-10","2011-02-10","2011-02-10",
                         "2011-02-20","2011-02-20","2011-02-20","2011-02-20","2011-02-20",
                         "2011-02-28","2011-02-28","2011-02-28","2011-02-28","2011-02-28",
                         "2011-03-10","2011-03-10","2011-03-10","2011-03-10","2011-03-10"),format="%Y-%m-%d"),
            spore=c(0,1,0,1,0,
                    1,2,0,1,1,
                    8,5,6,12,7,
                    18,24,25,32,14,
                    27,26,36,31,22)
            )
#plots boxplot but not geom_smooth()
ggplot(data,aes(x=date,y=spore,group=date))+geom_boxplot()+geom_smooth()

#or maybe add a stat_function() so that I can have a logistic growth that way?
#this is a made up function, I have a real function for my own data
test <- function(x) {(40)/(1+exp((15/2)-(1/2)*x))}
ggplot(data,aes(x=date,y=spore,group=date))+stat_function(fun=test)
我认为我的x值是日期这一事实让我搞砸了,但我没有很好的解决办法。
我真的筋疲力尽了,我不知道如何解决这个问题。

这不是日期问题。这是群体美学。对于geom_箱线图,有组的箱线图将形成很好的单独箱线图,但对于geom_smooth,它将尝试为每个组创建一个平滑的箱线图,即每条线一个点,即没有线。解决办法很简单:

ggplot(data,aes(x=date,y=spore)) + 
  geom_boxplot(aes(group=date)) + 
  geom_smooth()

非常感谢。这太完美了!