聚合的中值与R中的ggplot2中的boxplot非常不同

时间:2017-01-09 09:42:39

标签: r ggplot2 aggregate boxplot

我有一个数据帧df,如下所示:

    subj lang  mod    L_prnt    cohort
1   a1   eng   prnt   0.498529  EL1
2   a1   eng   spch   0.151919  EL1
3   a1   heb   prnt   0.428959  EL1
4   a1   heb   spch  -0.098831  EL1
5   b1   eng   prnt   0.318330  HL1
6   b1   eng   spch   0.212678  HL1
.
.
.
400 b54  heb   spch   0.356721  HL1

L_prnt之外的所有变量都是因素。

我想绘制一个geom_boxplot,它为lang提供由cohortmod分隔的值。以下代码为我提供了一个看起来不错的输出:

ggplot(df) +
   geom_boxplot(aes(x=lang, y=df[,L_prnt], colour = cohort)) +
   facet_grid(. ~mod)

使用我的完整数据框(有几个不重要的主题更改),这是输出: enter image description here

但如果我查看每个中间值,请使用aggregate函数,如下所示:

aggregate(L_prnt ~ cohort + lang + mod, data=df, FUN = median)

然后我得到以下输出:

     cohort lang  mod   L_prnt
1    EL1    eng   prnt  0.3344170 
2    HL1    eng   prnt  0.4340280
3    EL1    heb   prnt  0.1632390
4    HL1    heb   prnt  0.4673595
5    EL1    eng   spch  0.0747170
6    HL1    eng   spch  0.0782405
7    EL1    heb   spch  0.0764705 
8    HL1    heb   spch  0.0776450

这些显然与我在箱线图中看到的中值非常不同。方框图显示全局heb值较低,而中位数值显示spch值全面降低。

我出错了什么?

0 个答案:

没有答案