通过R中的多个列变量对行进行平均

时间:2015-04-26 14:21:28

标签: r ggplot2 average bar-chart multiple-columns

我正在尝试为我的数据创建一个多条形图,使用ggplot2描述每个区域的avgct平均值。

以下是我的数据示例:

gregion lregion   avgct
1          e      1.146
1          e      0.947
2          e      0.908    
3          e      1.167
1          t      1.225   
2          t      1.058
2          t      2.436
3          t      0.679

到目前为止,我已设法创建此图形,但它似乎正在绘制avgct的最大值而非平均值,因此我无法创建误差线。

enter image description here

我想我需要通过gregion和lregion来计算avgct的平均值,这样我就可以得到每个区域的平均avgct值,如下所示:

gregion lregion   mean(avgct)   
1          e      1.047 
2          e      0.908 
3          e      1.167
1          t      1.225 
2          t      1.747
3          t      0.679

如果有人可以帮我这个,这样我就可以为我的数据绘制一个带有误差条的平均条形图,我们将非常感激!

1 个答案:

答案 0 :(得分:1)

这是一个基本的聚合问题,因此典型的起点应该是Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa IdentitiesOnly yes Host github-smartstay HostName github.com User git IdentityFile ~/.ssh/id_rsa_new IdentitiesOnly yes

aggregate

然而,还有其他几种选择,包括" dplyr"和#34; data.table",为了方便语法和整体效率,从长远来看可能更具吸引力。

> aggregate(avgct ~ gregion + lregion, mydf, mean)
  gregion lregion  avgct
1       1       e 1.0465
2       2       e 0.9080
3       3       e 1.1670
4       1       t 1.2250
5       2       t 1.7470
6       3       t 0.6790