R ggplot2 / ezPlot:用误差条绘制每个协方差分位数的3x3 RM ANOVA设计

时间:2014-01-29 16:01:42

标签: r plot ggplot2

首先,我的数据:

http://www.pastebin.ca/2599202(我希望这不会太不方便,因为我无法创建合适的示例数据)

我基本上需要的是一个类似我所做的情节here

我为3个实验组绘制了针对time(连续因变量)的重复测量因子ias(x轴,3个水平)。我这样做了4次(对于我的特征量度MIHTmiht.binned,。25 - 1.00)的每个分位数。

我必须承认我并不是一名R专业人士而ggplot2手册对我来说只是一种矫枉过正。我使用ezPlot创建了情节(来自ezANOVA)并且只使用ggplot2进行了一些布局调整:

PlotIAS = ezPlot(                               
      data = MyData
      , dv = .(ias)
      , wid = .(id)
      , between = .(GROUP, miht.binned)
      , within = .(time)
      , x = .(time)
      , split = .(GROUP)
      , col   = .(miht.binned)
      , x_lab = 'time of measurement'
      , y_lab = 'IAS Score (Mean)'
      #, do_bars = FALSE
      , type = 3
    )


    PlotIAS = PlotIAS +  
      theme(
        panel.grid.major.y = element_line(colour = "gray80", size = NULL, linetype = NULL,  
                                          lineend = NULL)
        ,panel.grid.minor.y = element_line(colour = "gray90", size = NULL, linetype = NULL,
                                           lineend = NULL)
        ,panel.grid.major.x = element_blank()           
        ,panel.grid.minor.x = element_blank()
        ,legend.background = element_rect(fill = NULL, colour = "black") 

        ,panel.background = element_rect(fill = "white", colour = "white", size = NULL, 
                                         linetype = NULL)
      )

print(PlotIAS)

我没有找到有关ezPlot创建的这些错误栏的任何信息。对于每个点,它们似乎是相同的,并且可以使用bar_size =任意地重新定义长度。我只需要有SE或CI的错误栏。我不知道是否可以在我的基于ezPlot的代码中添加这些代码(以及如何?)或者如果必须为此创建一个完整的新ggplot对象(这对我来说是一个相当大的过度收费......)。非常感谢帮助。

1 个答案:

答案 0 :(得分:2)

我认为这接近你想要的东西:

ggplot(MyData, aes(x=time, y=ias, colour=GROUP, group=GROUP, 
                   linetype=GROUP, shape=GROUP)) + 
  facet_grid(~miht.binned) +
  stat_summary(fun.data="mean_cl_boot", geom="errorbar", conf.int=90) + 
    #alternatives:
    #stat_summary(fun.data="mean_cl_normal", geom="errorbar") + 
    #stat_summary(fun.data="mean_sdl", geom="errorbar") + 
  stat_summary(fun.y="mean", geom="point", size=2) + 
  stat_summary(fun.y="mean", geom="line") + 
  theme_bw()

enter image description here

有关这些错误栏的来源的详细信息,请参阅?mean_cl_boot等。 conf.int是CI级别。此外,将所有三种颜色,线型和形状映射到GROUP看起来都有点矫枉过正。你可能没有线型和形状。

让我补充说明

ggplot(MyData, aes(x=time, y=ias, fill=GROUP)) + facet_grid(~miht.binned) +
  geom_boxplot() + theme_bw()

enter image description here

实际上可能是一个更易于阅读的图(没有交叉/重叠线),同时保留了更多数据的特征(最小/最大,异常值)。