绘制矩阵的标准错误(使用复制数据)

时间:2014-02-25 11:01:08

标签: r matrix bar-chart standard-error

关于在R中绘制误差条以及通常有许多解决方案的讨论很多。 我想知道,如果可以对具有重复的矩阵数据进行此操作。

例如:

dataset <- read.table(text="Cond1.Rep1 Cond1.Rep2 Cond1.Rep3   Cond2.Rep1    Cond2.Rep2    Cond2.Rep3
4   6   10  10  6   4
5   7   5   10  4   5
4   8   4   2   4   2
6   4   8   5   3   3
7   5   8   6   4   5
7   5   8   8   7   5
8   5   9   9   8   5
4   5   4   3   8   7
6   6   4   5   4   2
4   6   7   7   8   3", head=TRUE)

类似于计算另一个矩阵,可以根据组(“Cond1”和“Cond2”)给出标准误差的值。任何快速的可能性,所以我们可以为矩阵中的任何行(或者甚至所有行)生成图?

由于

1 个答案:

答案 0 :(得分:1)

您应首先重塑数据:

library(reshape2)
dat <- melt(dataset)
dat <- cbind(dat, 
             do.call(rbind, strsplit(as.character(dat$variable), ".", fixed=TRUE)))
names(dat)[3:4] <- c("Cond", "Rep")
dat$sample <- seq_len(nrow(dataset))

aggregate(value~sample+Cond, data=dat, FUN=function(x) sd(x)/sqrt(length(x)))
#    sample  Cond     value
# 1       1 Cond1 1.7638342
# 2       2 Cond1 0.6666667
# 3       3 Cond1 1.3333333
# 4       4 Cond1 1.1547005
# 5       5 Cond1 0.8819171
# 6       6 Cond1 0.8819171
# 7       7 Cond1 1.2018504
# 8       8 Cond1 0.3333333
# 9       9 Cond1 0.6666667
# 10     10 Cond1 0.8819171
# 11      1 Cond2 1.7638342
# 12      2 Cond2 1.8559215
# 13      3 Cond2 0.6666667
# 14      4 Cond2 0.6666667
# 15      5 Cond2 0.5773503
# 16      6 Cond2 0.8819171
# 17      7 Cond2 1.2018504
# 18      8 Cond2 1.5275252
# 19      9 Cond2 0.8819171

library(ggplot2)
ggplot(dat, aes(x=factor(sample), y=value, colour=Cond)) + 
  stat_summary(fun.data=mean_sdl, mult=1/sqrt(3))

enter image description here