【问题标题】:How to plot standard error bars from a dataframe?如何从数据框中绘制标准误差线?
【发布时间】:2020-12-10 03:33:37
【问题描述】:

我正在尝试使用标准误差条绘制 2 个变量 GPP 和 NPP 的分组条形图。我已经计算了 SEGPP 和 SENPP 中每个值的标准误差。如何在条形组图中绘制这些标准误差条?

  Dataset<- c("MOD", "IP", "MP","CC")
GPP <- c(0.6922179, 0.848324, 0.8363999,0.8783096)
NPP<-c(0.4010816,0.4290893, 0.4197423,0.4368065)
df <- data.frame(Dataset,GPP,NPP)
df.m<-reshape2::melt(df)
SEGPP<-c(0.25, 0.15,0.16,0.16)
SENPP<-c(0.15, 0.06,0.08,0.07)
df.m$SEGPP<-c(0.25, 0.15,0.16,0.16)
df.m$SENPP<-c(0.15, 0.06,0.08,0.07)

SDGPP 和 SDNPP 指标准差值,SEGPP 和 SENPP 指标准误差值。

通过此代码,我只能绘制 GPP 或 NPP 的标准误差

ggplot(data=df.m,aes(x = factor(Dataset,levels=c('MOD', 'IP', 'MP', 'CC')), y = value, fill = variable))+
  geom_bar(stat="identity", position = "dodge")+
  geom_errorbar(aes(x=Dataset, **ymin=value-SENPP, ymax=value+SENPP**), width=0.4, position = position_dodge(.9))+
  scale_fill_manual(labels = c("GPP", "NPP"),values=cbp1)+
  theme_bw()+
  theme(legend.text=element_text(size=12),axis.text.y=element_text(size=15),
        axis.text.x=element_text(size=12),axis.title.x = element_text(size = 12),
        axis.title.y = element_text(size = 12))+theme(legend.title =element_blank())+
  labs(y= fn, x = "")

如何在同一个图中为两个变量绘制误差线?

【问题讨论】:

标签: r dataframe ggplot2


【解决方案1】:

我认为这里的诀窍是您需要有一个 SE 列。

Dataset<- c("MOD", "IP", "MP","CC")
GPP <- c(0.6922179, 0.848324, 0.8363999,0.8783096)
NPP<-c(0.4010816,0.4290893, 0.4197423,0.4368065)
df <- data.frame(Dataset,GPP,NPP)
df.m<-reshape2::melt(df)

SEGPP<-c(0.25, 0.15,0.16,0.16)
SENPP<-c(0.15, 0.06,0.08,0.07)
df.m$SE <- c(SEGPP, SENPP)

然后你可以使用geom_errorbar 来制作绘图,其中yminymax 被定义为值加上SE。在this answer 中讨论了使用position_dodge(0.9) 将SE 线与条对齐。

ggplot(df.m, aes(Dataset, value, fill = variable)) +
  geom_bar(stat = 'identity', position = position_dodge()) +
  geom_errorbar(aes(ymin = value - SE, ymax = value + SE), position = position_dodge(0.9), width = 0.25)

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 2014-09-12
    • 2019-12-04
    • 1970-01-01
    • 2011-12-14
    • 2016-06-04
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    相关资源
    最近更新 更多