【问题标题】:Plotting Standard Errors for a Matrix(with replicate data)绘制矩阵的标准误差(带有重复数据)
【发布时间】:2014-02-25 11:01:07
【问题描述】:

关于在 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”)给出标准误差的值。任何快速的可能性,以便我们可以为矩阵中的任何行(甚至可能是所有行)生成图?

谢谢

【问题讨论】:

  • 标准误是什么?
  • 每个条件的重复次数。
  • 您的问题是“如何计算标准错误”还是“如何绘制矩阵的所有行/列?对于后者,请参阅`?matplot
  • 类似于 matplot 但有标准错误!!...下面的解决方案似乎很好!

标签: r matrix bar-chart standard-error


【解决方案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))

【讨论】:

  • 这太完美了,如果我们可以将它们彼此相邻绘制(而不是像在这个情节中那样组合条件)作为条形图,那就太好了。不过我会尝试一下!
  • 这只是你如何用ggplot2做到这一点的问题。这很容易。
猜你喜欢
  • 1970-01-01
  • 2018-10-08
  • 2013-10-14
  • 1970-01-01
  • 2015-03-30
  • 2019-02-15
  • 2020-12-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多