使用facet_grid时在ggplot2中指定自定义错误栏

lus*_*ser 3 r ggplot2

我用我的数据创建了多个条形图stat_summary.但是,我想手动指定错误栏的限制(而不是使用mean_cl_boot).如何使用图表绘制数据facet_grid

我用来创建图表的代码如下:

graph <- ggplot(slantclean, aes(x = View,value, fill = Texture))

graph + stat_summary(fun.y = mean, geom = "bar", position = "dodge") + 
     stat_summary(fun.data = mean_cl_boot, geom = "pointrange", 
                     position = position_dodge(width = 0.90)) + 
     labs(x = "View", y = "Vertical height of ellipse (cm)", fill = "Texture") + 
     facet_grid( Shape ~ TNOGroup)
Run Code Online (Sandbox Code Playgroud)

不幸的是,数据的复杂性意味着最小的例子是不可能的.可以在此处访问数据框.情节的一个例子是在这里.

Did*_*rts 8

您可以定义自己要使用的功能stat_summary().如果您使用geom="pointrange"stat_summary(),然后你的函数应该给y,yminymax在一个数据帧值.

以下是制作my.fun计算最小值,最大值和平均值的函数的示例.在stat_summary()此值中使用时,将计算数据中每个级别的值.

my.fun<-function(x){data.frame(ymin=min(x),ymax=max(x),y=mean(x))}

graph <- ggplot(slantclean, aes(x = View,value, fill = Texture))

graph + stat_summary(fun.y = mean, geom = "bar", position = "dodge") + 
  stat_summary(fun.data = my.fun, geom = "pointrange", position = position_dodge(width = 0.90)) + 
  labs(x = "View", y = "Vertical height of ellipse (cm)", fill = "Texture") + 
  facet_grid( Shape ~ TNOGroup)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述