3

我从我的数据中创建了多个条形图,使用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)

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

4

1 回答 1

8

您可以定义自己的函数以在stat_summary(). 如果你使用geom="pointrange"instat_summary()那么你的函数应该在一个数据框中给出y,yminymaxvalue 。

这里只是制作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)

在此处输入图像描述

于 2013-04-22T18:32:03.463 回答