首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R中的数据汇总

R中的数据汇总
EN

Stack Overflow用户
提问于 2015-03-15 11:18:17
回答 1查看 114关注 0票数 0

我是R的新手,我在总结数据方面遇到了困难。我试着在互联网上学习教程,但不幸的是,我一直都有错误。

我有一个矩阵,其中我的反应因子是“集中”。

在我的实验中,我有3个处理(a,b和c),每个处理有5个重复。我得到了8种产品的浓度(PRO1 - PRO8).

代码语言:javascript
复制
     TRA PRO1 PRO2 PRO3 PRO4 PRO5 PRO6 PRO7 PRO8
1    a   83   85   59   46   64    8   76   74
2    a   61   71   73   15   87   95   61    9
3    a   78   12   35   23   56   95   67   11
4    a   48   30   75   94   57   15   58   58
5    a   51   92   30   60   22    9   64    5
6    b   46   17   66   79   30   99    3   38
7    b   40   25   11   18   66   25   55   38
8    b   34   94   83   63   30  100   56   31
9    b    3   81   26   73   32   56    4   12
10   b   18   40   13   51    4   44   75    4
11   c   68   28   20   15   13   56    5   82
12   c   50   85   65   85   13   13   34   69
13   c   75   37   11   55   58   69   85   67
14   c   71   30   83   46   87   67   59   70
15   c   10   76   50   20   98   81   57   76

我尝试了summaryBy、doBy和这些函数,但是它对我不起作用。

我如何排序我的矩阵,以执行这些函数,并得到平均值,sd?我的意图是制作一个带有错误条的条形图,以了解每种产品的处理方法之间的差异。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-15 12:10:50

你可以试试

代码语言:javascript
复制
library(ggplot2)
library(dplyr)
library(tidyr)

gather(df1, Var, Val, -TRA) %>% 
              group_by(TRA, Var) %>% 
              summarise(Mean=mean(Val), SD=sd(Val)) %>% 
              ggplot(., aes(x=TRA, y=Mean, fill=Var))+
              geom_bar(position=position_dodge(), stat='identity')+
              geom_errorbar(aes(ymin=Mean-SD, ymax=Mean+SD), width=.2, 
                          position=position_dodge(.9))

数据

代码语言:javascript
复制
df1 <- structure(list(TRA = c("a", "a", "a", "a", "a", "b", "b", "b", 
"b", "b", "c", "c", "c", "c", "c"), PRO1 = c(83L, 61L, 78L, 48L, 
51L, 46L, 40L, 34L, 3L, 18L, 68L, 50L, 75L, 71L, 10L), PRO2 = c(85L, 
71L, 12L, 30L, 92L, 17L, 25L, 94L, 81L, 40L, 28L, 85L, 37L, 30L, 
76L), PRO3 = c(59L, 73L, 35L, 75L, 30L, 66L, 11L, 83L, 26L, 13L, 
20L, 65L, 11L, 83L, 50L), PRO4 = c(46L, 15L, 23L, 94L, 60L, 79L, 
18L, 63L, 73L, 51L, 15L, 85L, 55L, 46L, 20L), PRO5 = c(64L, 87L, 
56L, 57L, 22L, 30L, 66L, 30L, 32L, 4L, 13L, 13L, 58L, 87L, 98L
), PRO6 = c(8L, 95L, 95L, 15L, 9L, 99L, 25L, 100L, 56L, 44L, 
56L, 13L, 69L, 67L, 81L), PRO7 = c(76L, 61L, 67L, 58L, 64L, 3L, 
55L, 56L, 4L, 75L, 5L, 34L, 85L, 59L, 57L), PRO8 = c(74L, 9L, 
11L, 58L, 5L, 38L, 38L, 31L, 12L, 4L, 82L, 69L, 67L, 70L, 76L
)), .Names = c("TRA", "PRO1", "PRO2", "PRO3", "PRO4", "PRO5", 
"PRO6", "PRO7", "PRO8"), class = "data.frame", row.names = c("1", 
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", 
"14", "15"))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29060002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档