如何使用facet_grid运算符指定标准差?

时间:2017-02-08 06:48:23

标签: r ggplot2

我使用下面的脚本

使用了ggplot
data <- fread("Book1.txt")
names(data)
days <- c("UD","D4","D6","D10","D16")
sample <-c("H1","H2","H3")
SD <- c('SD_UD', 'SD_D4', 'SD_D6', 'SD_D10','SD_16')
vol <- data.table(gather(data, days, expression, UD:D16))
volL <- data.table(gather(vol, expression, SD, SD_UD:SD_D16))
dodge <- position_dodge(width=0.9)
gg <-ggplot(volL, aes(days, expression, fill= sample)) + geom_bar(stat="identity", width = 0.9, position = dodge) +
 geom_errorbar(aes(ymin=expression-SD, ymax=expression+SD), color= "grey", width=.1) +
 facet_grid(sample~.) +
  scale_x_discrete(limits=days, labels = days) +
  ggtitle("Expression vs days")

数据表:

sample  UD  D4  D6  D10 D16 SD_UD   SD_D4   SD_D6   SD_D10  SD_D16
H1  9.96113E-05 0.000276321 0.105211427 0.098271655 0.06978369  1.17174E-05 9.84763E-05 0.03589122  0.05107505  0.017763717
H2  7.9913E-06  4.43916E-05 0.040212602 0.106493626 0.162614138 9.31988E-07 4.28076E-05 0.012332228 0.0441571   0.063304324
H3  0.000233391 0.000382084 0.001415172 0.003544547 0.018624673 0.000103126 0.000110262 0.000612986 0.000572592 0.010861883

使用上面的脚本,我得到了以下图表; enter image description here

问题:它没有根据data.fram分配标准偏差。谁能帮助我正确分配SD值。

1 个答案:

答案 0 :(得分:0)

确实根据data.frame指定了标准偏差。问题是data.frame包含每个SD的{​​{1}}的4个不同值。 要使用expression

解决
dplyr

希望这有帮助。